为了账号安全,请及时绑定邮箱和手机立即绑定

布尔条件总是评估为真

布尔条件总是评估为真

侃侃无极 2021-10-06 10:43:32
我正在为一个介绍 Java 类的家庭作业项目工作,其中我的任务是创建一个类和方法来测试输入年份是否为闰年。我已经看到很多人在一个程序中执行此操作的示例,但是我们需要构建该类,然后运行我教授的 Tester 文件。我终于可以毫无错误地编译所有内容,但是每次运行该文件时,我都会被告知这一年是闰年。我尝试了很多不同的东西,但我不明白为什么布尔条件 at 总是评估为真(或者我做错了什么)。我的代码如下:public class Year{   // declare variable    private int y;    private String year;    // declare constructor    public Year(String theYear, int year_input)    {        y=year_input;        theYear=year;    }        // ensure y has a value    public Year(int y)    {        y=0;    }     // test if y is a leap year    public boolean isLeapYear()    {             if (y%4==0 && (y/100!=0 || y%400==0))             {                  return true;             }                 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();    // now make a Year object    Year theYear = new Year(year_input);    // now check to see if it's a leap year    if (theYear.isLeapYear())        System.out.println("That's a leap year!");    else        System.out.println("That's not a leap year!");    }}
查看完整描述

3 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

问题出在您的构造函数中。

您总是将 year 初始化为 0 而不是您从输入中得到的。

还要学习调试:)


查看完整回答
反对 回复 2021-10-06
  • 3 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信