java - boolean 值计算不正确?

标签 java boolean

所以我正在尝试做一个学校项目(一个简单的闰年测试器),但我的 boolean 语句似乎不起作用。我的代码如下所示:

    public class Year{

      int year_input;



public Year(int year_input){

}


public boolean isLeapYear(){
    // your code here 
    if (year_input % 4 ==0){
      return true;
    }
    else{
      return false;
    }
}
}

它必须与包含的类一起使用:

import java.util.Scanner;

public class LeapYearTester{

public static void main(String[] args){

    Scanner input = new Scanner(System.in);
    System.out.println("Please enter a year");
    int year_input = input.nextInt();

    Year theYear = new Year(year_input);

    if (theYear.isLeapYear())
        System.out.println("That's a leap year!");
    else
        System.out.println("That's not a leap year!");
}
}

但出于某种原因,控制台说所有年份都是闰年,即使它们显然不是。 False Leap Years (图)

有什么帮助吗?

最佳答案

在构造函数中,您需要将参数分配给实例变量。

public Year(int year_input){
    this.year_input = year_input;
}

关于java - boolean 值计算不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52434839/

相关文章:

elasticsearch - Elastic Multimatch Query与文档不匹配

java - 在java中创建实例时为成员变量赋值

java - 屏幕旋转后以不同布局重绘 fragment

java - Java boolean 方法最后返回 true 和 false 语句的区别

c++ - 如何在 OpenGL/C++ 中创建构造实体几何

python - Pandas 从列中获取一个热编码作为 boolean 值

c++ - 在 C++ 中将 int 作为 bool 参数传递

java - 编译器翻译代码的形式化符号

java - 将大型二进制数据写入文件

java - 单击 <li> 列表项不使用 Selenium Java