Java简单赋值

Java简单赋值,java,Java,我试图解决一个简单的作业,从一个课程,我已经注册,但它不工作的某些原因 作业中说:“如果一年可以被4整除,那么它就是闰年。但是如果一年可以被100整除,那么只有当它也可以被400整除时,它才是闰年。 创建一个检查给定年份是否为闰年的程序。” 当我运行代码时我得到一条消息:“使用input 1604,您应该打印“年份是闰年”,但您打印了“键入年份:年份不是闰年” 这是我的代码: Scanner reader = new Scanner(System.in); System.out.

我试图解决一个简单的作业,从一个课程,我已经注册,但它不工作的某些原因

作业中说:“如果一年可以被4整除,那么它就是闰年。但是如果一年可以被100整除,那么只有当它也可以被400整除时,它才是闰年。 创建一个检查给定年份是否为闰年的程序。”

当我运行代码时我得到一条消息:“使用input 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.");
    }
}
}
如果((第%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)
谢谢大家,我设法解决了这个问题。