Je rencontre des problèmes pour essayer d'écrire le code correct afin de vérifier si une chaîne du clavier contient une date valide avec le nombre correct de mois, de jours pour chaque mois et de format mm/jj/aaaa avec des ajustements pour les années bissextiles ici est ce que j'ai fait jusqu'à présent je ne pense pas que je suis même proche, mais toute aide serait grandement appréciée. Merci à l'avancetest si la chaîne saisie au clavier a une date et un format valides
/* read a date from a string from the keyboard to determine if date is in mm/dd/yyyy format.
*/
import java.util.Scanner;
public class DateFormat
{
public static void main(String [ ] args)
{
Scanner inp = new Scanner(System.in);
System.out.println("Enter the date in mm/dd/yyyy format. ");
int mm;
int dd;
int yy;
int date = inp.nextInt();
boolean isLeapYear;
if ((mm <1) && (mm >12))
System.out.println(date + " is not valid month must be between 1 and 12.");
if ((mm = 4) && (dd <=30))
System.out.println(date + " is a valid date.");
}
else
System.out.println(date + " is not valid date must have 30 or less days. ");
if (date = mm + "/" + dd + "/" + yy);
System.out.println(date + " is a valid date format. ");
}
else{
System.out.println(date + " is not valid must be in dd/mm/yyyy format.");
if (yy %100 ==0) {
if (yy % 400 ==0){
isLeapYear = true;
}
else{
isLeapYear = false;
}
}
else{
if (yy %4 ==0){
isLeapYear = true;
}
else{
isLeapYear = false;
if (isLeapYear)
if ((mm ==2) && (dd <= 29))
System.out.println(date + " is a valid date.");
}
else{
System.out.println(date + "is not valid month must have 29 days or less.");
if ((mm ==2) && (dd<=28))
System.out.println(date + " is a valid date.");
}
else{
System.out.println(date + "is not valid must have 28 days or less. ");