【发布时间】:2017-05-30 03:15:16
【问题描述】:
我正在尝试解决我注册的课程中的一个简单作业,但由于某种原因它不起作用。
作业说:“如果一年能被 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.");
}
}
}
【问题讨论】:
-
使用调试器查看
year % 4、year % 100和year % 400的值。 -
只是想想输入4会发生什么,是闰年,代码输出什么?不要从像 1604 这样的奇怪案例开始,从简单的案例开始,然后检查为什么它们已经失败了。
-
你确定你的程序应该打印
"Type a year: "吗? -
了解如何正确搜索。此链接是 Google 的第一次点击。
-
谢谢大家的回答。我是一个完全的初学者,刚刚加入 SO,很抱歉重复的帖子。当然,我在之前发布的上一个问题中找到了我想要的内容。
标签: java