Signaler

Problème pour saisir une date sur java [Résolu]

Posez votre question AntoineJava - Dernière réponse le 10 avril 2017 à 18:22 par KX
Bonjour,
j'écris un code dans lequel un utilisateur crée un projet en lui attribuant un nom, une description... et une deadline sous forme de date.
Problème : je n'arrive pas faire saisir la date par l'utilisateur. Android studio annonce une erreur.
    private void creerNouveauProjet(){
        Scanner sc = new Scanner(System.in);
        System.out.println("nom : ");
        String nom = sc.nextLine();
        System.out.println("Description : ");
        String description = sc.nextLine();
        System.out.println("Veuillez entrer une deadline (: ");
        Scanner scandate=new Scanner(System.in);
        String entree=scandate.next();
      
        SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yyyy") ; 
        Date temps=sdf.parse(entree); // ERREUR :  ici Android Studio annonce que sdf.parse(entree) est une unhandle exception java.text.ParseException
        currentUser.addProjet(new Projet(nom, description, temps, currentUser.getListeProjets().size(),new ArrayList<Task>()));//on crée tout et on ajoute ça a la liste de projet de k'user
        System.out.println("Votre projet a bien été ajouté");
        System.out.println("");
    }


J'ai importé les codes suivants :
package com.example.arnaud.synch_up;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Date;
import java.text.DateFormat;// affiché en gris comme non utilisé
import java.text.ParseException;//affiché en gris comme non utilisé


Je souhaite que l'utilisateur entre une date sur la console dans une string et que mon code stock cette date dans une variable au format date.

Merci
Utile
+0
plus moins
Bonsoir,

Quelle String as tu tapé au moment de saisir ta date ?

Normalement elle devrait être au format "9/4/2017"
Donnez votre avis
Utile
+0
plus moins
Bonsoir,
J'ai résolu mon problème.

Visiblement ce genre de code nécessite un bloc catch + try de type :

public static int compareDate(String sdate1, String sdate2) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd", Locale.FRANCE);
try {
Date date1 = simpleDateFormat.parse(sdate1);
} catch (ParseException e) { // Insert this block.
// TODO Auto-generated catch block
e.printStackTrace();
}

} // Il faut copier coller tout ce qui est en gras italique. :)






Source : http://stackoverflow.com/questions/17399761/cannot-convert-my-string-to-date
AntoineJava- 10 avril 2017 à 11:12
Attention, il faut importer certaines méthodes java
comme
import java.util.ParseExecption
Répondre
KX 14860Messages postés samedi 31 mai 2008Date d'inscription ModérateurStatut 17 octobre 2017 Dernière intervention - 10 avril 2017 à 18:22
"Visiblement ce genre de code nécessite un bloc catch + try"
Si tu veux gérer des cas d'erreurs oui, de même que quand tu lis un entier il faut vérifier que c'est bien un entier qui est saisi, mais si la date est au bon format quand on la tape la sécurité du try/catch devient inutile. Le problème vient surtout de taper la date au bon format dès le départ...
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !