我正在尝试解决我注册的类(class)中的一个简单作业,但由于某种原因它不起作用。
赋值语句:“如果年份能被 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.");
}
}
}
最佳答案
if((year % 4 == 0) && (year % 100 == 0 && Year % 400 == 0)
使用 &&
它应该是 ||
。应该是 if((year % 4 == 0 &&year % 100 != 0) || (year % 400 == 0)
1604 可以被 4 整除,但由于您使用 &&
,它还会检查它是否可以被 100 和 400 整除,但事实并非如此。
关于Java简单赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44249058/