因此,对于基础编程课程,我们必须制作一个程序,告诉一年是否是闰年。我们没有使用扫描仪方法;相反,这一年将是一个争论。我们必须使用一个名为isLaeapYear(int year)的布尔值。这是我的代码
public class LeapYear{
public static void main(String[ ] args){
int year = readInt();
boolean isLeapYear(int year) = ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));
if (isLeapYear)
{
return true;
}
else {
return false;
}
}
}
由于某种原因,它不会编译它说a;在我的布尔行中的isLeapYear之后是预期的。有什么建议?谢谢!
答案 0 :(得分:3)
boolean isLeapYear(int year) = ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));
上述行完全没有意义。你想要它成为一种方法吗?
如果是这样的话应该是:
private static boolean isLeapYear(int year) {
return ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));
}
你可以这样称呼它:
boolean isLeapYear = isLeapYear(year); //note that the fact that both the boolean
//variable and the method name are
//identical is coincidence; the variable
//can be named whatever you want (as long
//as it makes sense).
或者您可以这样做:
if(isLeapYear(year)) {
...
} else {
...
}
或者,如果您只想要一个boolean
变量:
boolean isLeapYear = ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));
答案 1 :(得分:1)
以下是您的代码应该是什么样的(未经测试):
public class LeapYear{
//main method (always runs when you compile then run)
public static void main(String[ ] args){
//int year = readInt();
int hardCodedYear = 4;
System.out.prinln(isLeapYear(hardCodedYear));//method call and print results
}
//create method
public boolean isLeapYear(int year){
//check if its leap year (not sure if this is correct)
if (year %4 == 0) && (year % 100 !=0) || (year % 400 ==0){
return true;
}
return false;
}
}
答案 2 :(得分:0)
看起来你在这里遇到了一个基本的语法错误。要么是LeapYear要么是一个函数,要么是一个变量,你要混合两者。你应该有像
这样的东西boolean isLeapYear = ((year %4 == 0) && (year % 100 !=0) || (year % 400 == 0));