Problème pour saisir une date sur java
Résolu
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.
J'ai importé les codes suivants :
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
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
2 réponses
-
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-
-
Modérateur"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...
-