java - 为什么我的程序只输出一个结果而不是五个?

标签 java

/*
 *Find if a year is leap or not
 */

public class LeapYear{

    private static int leapYear;

    public void setLeapYear(int leapYear){

        this.leapYear = leapYear;

    }// end method


    public static void main (String[] args) {
        LeapYear leap = new LeapYear();
        leap.setLeapYear(2010);
        leap.setLeapYear(2008);
        leap.setLeapYear(1900);
        leap.setLeapYear(2000);
        leap.setLeapYear(1565);

        // Is it Divisible by 4?
        if (leapYear % 4 == 0) {

            // Is it Divisible by 4 but not 100?
            if (leapYear % 100 != 0) {
                System.out.println(leapYear + ": is a leap year.");
            }
            // Is it Divisible by 4 and 100 and 400?
            else if (leapYear % 400 == 0) {
                System.out.println(leapYear + ": is a leap year.");
            }
            // It is Divisible by 4 and 100 but not 400!
            else {
                System.out.println(leapYear + ": is not a leap year.");
            }
        }
        // It is not divisible by 4.
        else {
            System.out.println(leapYear + ": is not a leap year.");
        }
    }
}

我是 Java 新手,我编写了这段代码,以便它可以调用所有五年的 boolean 值并为所有这些生成答案。然而它只调用最后一个。我该如何正确地做到这一点?

最佳答案

问题 1

setLeapYear 的前四次调用:

leap.setLeapYear(2010);    // leap.leapYear = 2010;
leap.setLeapYear(2008);    // leap.leapYear = 2008;
leap.setLeapYear(1900);    // leap.leapYear = 1900;
leap.setLeapYear(2000);    // leap.leapYear = 2000;

被最后一个覆盖:

leap.setLeapYear(1565);    // leap.leapYear = 1565;

我可能会编写一个名为 isLeapYear(intyear) 的 boolean 方法并执行

System.out.println(isLeapYear(2010));
System.out.println(isLeapYear(2008)); 
...


问题2

leapYear静态,因此您不需要/不应该执行 LeapYear leaf = new LeapYear(); (或者,您应该删除 static 修饰符)。

关于java - 为什么我的程序只输出一个结果而不是五个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7063949/

相关文章:

java - 我们如何在java中使用Akka-remote-access进行2路通信

java - 构造函数 Intent 未定义

java - 如何从java发送html页面

java - 自定义在 h :ajax call 之后响应

java - 如何在 BCEL 中将整数压入堆栈

java - Android Studio 中的搜索栏

java - 打印没有多余零的四舍五入数字

java - 如何在java中超时连接到服务器

java - 如何在 SwingWorker 任务完成后提示 JOptionPane

java - 更新jdk版本后我现有的项目编译错误