Java简单赋值
我试图解决一个简单的作业,从一个课程,我已经注册,但它不工作的某些原因 作业中说:“如果一年可以被4整除,那么它就是闰年。但是如果一年可以被100整除,那么只有当它也可以被400整除时,它才是闰年。 创建一个检查给定年份是否为闰年的程序。” 当我运行代码时我得到一条消息:“使用input 1604,您应该打印“年份是闰年”,但您打印了“键入年份:年份不是闰年” 这是我的代码:Java简单赋值,java,Java,我试图解决一个简单的作业,从一个课程,我已经注册,但它不工作的某些原因 作业中说:“如果一年可以被4整除,那么它就是闰年。但是如果一年可以被100整除,那么只有当它也可以被400整除时,它才是闰年。 创建一个检查给定年份是否为闰年的程序。” 当我运行代码时我得到一条消息:“使用input 1604,您应该打印“年份是闰年”,但您打印了“键入年份:年份不是闰年” 这是我的代码: Scanner reader = new Scanner(System.in); System.out.
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.");
}
}
}如果((第%4年==0)和((第%100年==0和第%400年==0)
使用&
它应该是|
。如果((第%4年==0和第%100!=0)| |(第%400年==0)
1604可以被4整除,但由于您使用了
&&
,它还会检查它是否可以被100和400整除。使用调试器查看年份%4
、年份%100
和年份%400
的值。只要想想输入4会发生什么,这是闰年吗,代码输出是什么?不要从我们开始像1604这样的ird案例,从简单的案例开始,检查它们为什么已经失败。您确定您的程序应该打印“键入年份:”
?了解如何正确搜索。此链接是谷歌的第一个链接。感谢大家的回答。我是一个完全的初学者,刚刚加入,很抱歉重复了此帖子。当然,我在之前发布的问题中找到了我要找的内容。它应该在哪里?|
?编辑了我的声明。(年份%100==0&&year%400==0)
是多余的,因为年份%100==0
在年份%400==0
时是正确的。这个整体条件会说1900年是闰年,而不是闰年。所以,这是不正确的。是的,你是对的,它应该移到第一个条件(年份%4==0&&year%100!=0)
谢谢大家,我设法解决了这个问题。