Java简单分配

时间:2017-05-29 19:06:02

标签: java

我正在尝试从我已注册的课程中解决一个简单的作业,但由于某种原因它无法正常工作。

分配说:“如果它可以被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.");
    }
}

}

1 个答案:

答案 0 :(得分:1)

if((year % 4 == 0) && (year % 100 == 0 && year % 400 == 0)使用&&它应该是||。它应该是if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)

1604可被4整除,但由于你使用&&,它还会检查它是否可以被100和400整除,而不是。{/ p>