我才刚刚上大学,而我们正在学习的第一件事就是Java。我目前正在学习if语句。对于我的一项家庭作业,我需要编写一个程序,要求用户输入年份。然后,程序需要确定该年是否是a年。
该问题指出,如果年份可被4整除,则为a年。同样,如果年份可以被100整除,那么它也应该被400整除,以便成为a年。
到目前为止,这是我写的:
System.out.print("Type a year: ");
int year = Integer.parseInt(reader.nextLine());
if (year % 4 == 0 || year % 100 == 0 && year % 400 == 0) {
System.out.print("The year is a leap year.");
} else {
System.out.print("The year is not a leap year.");
}
我期望程序检查年份是否可以被4整除,或者年份可以被100和400整除。
现在,当我输入1800年时,输出显示该年是a年,但我希望它表示它不是a年。我怀疑这是因为当其中一个条件为true时if语句为true,这是因为1800被4整除。但是,我似乎找不到正确的方法。帮助将不胜感激。
最佳答案
the年标准的另一种说法是:如果该年可被4整除但不能被100整除,或者被400整除,则表示is年。
您的代码中未表达的是“但不是100”部分。
关于java - 如何检查一个数字是否可以被两个不同的值整除?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57796411/