【发布时间】:2020-09-09 00:24:06
【问题描述】:
我正在努力学习 Java。当我输入不是闰年的 1800 年时,它会显示“闰年”,但如果我输入不是闰年的 2011 年,它会显示“不是闰年”。
有人可以帮忙吗?我是 Java 新手,所以我正在学习这一切。我试图解决的问题如下所示。
如果年份可以被 4 整除,则该年份是闰年。但是,如果年份是 能被 100 整除,那么只有当它也是闰年时,它才是闰年 能被 400 整除。
import java.util.Scanner;
public class leapyears {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a year!");
int year = Integer.valueOf(scanner.nextLine());
if (year % 4 == 0) {
System.out.println("Leap year!");
if (year % 100 != 0 && year % 400 == 0) {
System.out.println("Leap year!");
}
} else {
System.out.println("Not leap year!");
}
}
}
【问题讨论】:
-
你的逻辑没有意义。您打印“闰年!”在你检查这个数字是否能被 100 整除之前。
-
是的——这并不是真正的编程问题,而是理解逻辑的问题。并非所有能被 4 整除的年份都是闰年,因此您需要先测试特殊情况,然后再测试一般情况。
-
您的代码实现了以下算法:如果年份不能被 4 整除,则打印“不是闰年”(那部分很好),否则(如果年份可以被 4 整除)打印“闰年”,如果它不能被 100 整除但能被 400 整除(这永远不会发生),则再次打印“闰年”
-
你应该在提问之前进行研究,也许你的答案就在这里stackoverflow.com/questions/1021324/…
标签: java