Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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_Leap Year - Fatal编程技术网

Java闰年计算器

Java闰年计算器,java,leap-year,Java,Leap Year,我正在做一个扫描器对象,以得到一年,并测试它是否是闰年。只是想得到一些反馈。这就是我所拥有的吗?谢谢大家! import java.util.Scanner; public class Micro4 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int testDate = input.nextInt(); boolean divFou

我正在做一个扫描器对象,以得到一年,并测试它是否是闰年。只是想得到一些反馈。这就是我所拥有的吗?谢谢大家!

import java.util.Scanner;
public class Micro4 
{
  public static void main(String[] args) 
  {

    Scanner input = new Scanner(System.in);

    int testDate = input.nextInt();

    boolean divFour = (((testDate % 4) == 0));
    boolean divHundred = (((testDate % 100) != 0));
    boolean divFourHundred = (((testDate % 400) != 0));

    if (divFour && divHundred && divFourHundred) {
      System.out.println(testDate + " is a leap year.");
    } else {
      System.out.println(testDate + " is not a leap year.");
    }
  }
}

逻辑有点错误。2000年是闰年,但它并不符合你的计划。正确的逻辑应该是:

if ((divFour && divHundred)||!divFourHundred) {

此外,正如Dave Galvin所建议的,一定要使用更好的变量名来提高可读性。

诀窍在于将其转化为代码:

如果一年可以被4整除,那么它就是闰年,但是百年是闰年 不是闰年,除非它们可以被400整除

我正在检查一年是否是4的倍数,而不是100的倍数,或者一年是否是400的倍数

 if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
    System.out.println("Leap");

 else
    System.out.println("Not leap.");

你能加上你得到的确切错误吗?打个电话就可以了。克里斯,这显然是需要学习的。当然,有内置的方法来做这些事情,但拉斐尔不会从解决问题中学习。至于你,斯里坎特,请阅读拉斐尔的帖子——他要求的是简单的反馈,而不是纠正错误。