Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法编写计算闰年的代码_Java_Operation_Leap Year - Fatal编程技术网

Java 无法编写计算闰年的代码

Java 无法编写计算闰年的代码,java,operation,leap-year,Java,Operation,Leap Year,方向: “如果一年可以被4整除,那么它就是闰年。但是如果一年可以被100整除,那么只有当它也可以被400整除时,它才是闰年。” 创建一个程序来检查给定的年份是否是闰年。“我在计算部分遇到了最大的麻烦。这是我的密码: public static void main(String[] args) { Scanner reader = new Scanner(System.in); int year; System.out.print("Type a year:");

方向: “如果一年可以被4整除,那么它就是闰年。但是如果一年可以被100整除,那么只有当它也可以被400整除时,它才是闰年。”

创建一个程序来检查给定的年份是否是闰年。“我在计算部分遇到了最大的麻烦。这是我的密码:

public static void main(String[] args) {
    Scanner reader = new Scanner(System.in);

    int year;

    System.out.print("Type a year:");
    year=Integer.parseInt(reader.nextLine());

    if ((year%4==0)||(((year%100==year%400)))){

      System.out.println("The year a leap year.");
 }else       
       System.out.println("The year is not a leap year.");

}
当我运行代码时,我没有收到错误,但是,当我输入这样的日期,1600、1601和1700等时,它说这是一个闰年,而不应该是。我很迷路,任何帮助都将不胜感激

试试这个:


(年份%4==0和年份%100!=0)| |年份%400==0

您的
|
应该是
&&
。| |必须是&&这是否回答了您的问题?谢谢,代码100%有效。你能解释一下我做错了什么,使我的代码无法正确打印吗。接线员“!,”我从来没有真正理解它的意思,你能解释一下“!”在这种情况下是如何工作的吗?再次感谢你!:)@AMCgiftcard订单很重要。在您的例子中,您首先检查
是否可被4整除(对于每一个可被100整除的数字,这总是
)。此外,检查
year%100==year%400
中的相等性也不是一件好事,因为它返回
true
,即使是1601年或2003年(因为除以100和400的余数是相同的)。在上面的代码中,它首先检查
年份
是否可以被4整除,而不能被100整除。这意味着我们只处理第一种情况(第二种情况是可以被100整除的数字)。哦,好吧,这更有意义!再次感谢你!