我正在尝试从我已注册的课程中解决一个简单的作业,但由于某种原因它无法正常工作。
分配说:“如果它可以被4整除,则一年是闰年。但如果年份可以被100整除,那么只有当它可以被整除时才是闰年到400。 创建一个程序,检查给定年份是否为闰年。“
当我运行代码时,我收到消息:“输入1604,您应该打印”年份是闰年“,但是您打印了”输入年份:年份是不是闰年。“”
这是我的代码:
Scanner reader = new Scanner(System.in);
System.out.print("Type a year: ");
int year = Integer.parseInt(reader.nextLine());
if((year % 4 == 0) && (year % 100 == 0 && year % 400 == 0)) {
System.out.println("The year is a leap year.");
}else {
System.out.println("The year is not a leap year.");
}
}
}
答案 0 :(得分:1)
if((year % 4 == 0) && (year % 100 == 0 && year % 400 == 0)
使用&&
它应该是||
。它应该是if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)
1604可被4整除,但由于你使用&&
,它还会检查它是否可以被100和400整除,而不是。{/ p>