Menu

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

AntoineJava - 9 avril 2017 à 18:12 - Dernière réponse : KX 15438 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention
- 10 avril 2017 à 18:22
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
Afficher la suite 

4 réponses

KX 15438 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention - 9 avril 2017 à 22:54
0
Utile
Bonsoir,

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

Normalement elle devrait être au format "9/4/2017"
AntoineJava - 10 avril 2017 à 11:11
0
Utile
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
Attention, il faut importer certaines méthodes java
comme
import java.util.ParseExecption
KX 15438 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 mai 2018 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...