.class调用布尔方法时的预期错误

时间:2015-11-28 18:05:53

标签: java

尝试从另一个类调用布尔方法时出错。我已经尝试编辑我调用方法的方式,但到目前为止还没有工作。我发布了我为两个班级编写的代码,以获得最清晰的错误信息,即" .class"预期的错误。

public class Date
{
public int Day;
public int Month;
public int Year;
public Date(int myDay, int myMonth, int myYear){
    Month = myMonth;
    Day = myDay;
    Year = myYear;
    }
public int daysIs(){

    return Day;
}
public int monthIs(){

    return Month;
}
public int yearIs(){

    return Year;
}
public boolean isLeapYear(int Year){
    if (Year % 4 != 0){
        return false;
    }else if (Year % 400 == 0) {
        return true;
    }else if (Year % 100 == 0){
        return false;
    }else {
        return true;
        }
}
Date mydate = new Date(Day, Month, Year);
}

对于这里的第一堂课,它编译没有错误。我试图调用的方法是接近结尾的isLeapYear方法。当我尝试调用该方法时,我的第二课总会出现某种错误。

import javax.swing.JOptionPane;
public class DateJDialog
{
 public static void main(String[]args)
{
     String input;
     int Day;
     int Month;
     int Year;
     //prompt the day
     input = JOptionPane.showInputDialog("Please enter the 2 digit day of the month: ");
     Day = Integer.parseInt(input);
     //prompt the month
     input = JOptionPane.showInputDialog("Please enter the 2 digit month of the year: ");
     Month = Integer.parseInt(input);
     //prompt the year
     input = JOptionPane.showInputDialog("Please enter the 4 digit year: ");
     Year = Integer.parseInt(input);
     Date inputDate = new Date(Day,Month,Year);
     if( inputDate.isLeapYear(int Year)= false){
         JOptionPane.showMessageDialog(null,"The given year was NOT a Leap Year.");
        }else {
            JOptionPane.showMessageDialog(null,"The given year WAS a Leap Year.");
    }


}
}

错误总是发生在接近结尾的if语句的第一行。

2 个答案:

答案 0 :(得分:1)

尝试编写if行的这一行。

  if (inputDate.isLeapYear(int Year)= false) {...}

像这样:

  if (!inputDate.isLeapYear(2015)) {

调用方法时,不要指定参数的数据类型。另外,=是一个赋值运算符,在我们使用比较运算符==的情况下。

不需要将布尔值与另一个布尔值进行比较,因此==在这种情况下毫无意义。

答案 1 :(得分:-1)

你的想法太难了,你应该在编程时把它简单化。在调用方法时,您不需要该类型,只有在声明方法时才需要这样做。