キーボードからの文字列に、特定の月ごとに正しい月数、日、およびうるう年を調整した mm/dd/yyyy 形式の有効な日付が含まれているかどうかをテストするための正しいコードを記述しようとすると、問題が発生します。これまでのところ、私は近くにいるとは思いませんが、どんな助けでも大歓迎です。前もって感謝します
/* 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. ");