当我在java中使用任何布尔运算符时,我不断收到错误消息the operator type is undefined for the args
。我是否必须导入一个布尔类?
import java.util.Scanner; //imports Scanner class
public class LeapYear {
public static void main (String[] args) {
//create Scanner object
Scanner input = new Scanner(System.in);
//declare variables
int year;
//get input
System.out.println("Enter year: ");
year = input.nextInt();
//create if statement
if ((year/4) && !(year/100)){
System.out.println("Leap Year");
}
else{
System.out.println("Not a Leap Year");
}
}
}
答案 0 :(得分:4)
与C / C ++不同,您无法将int
值视为booleans
。您必须明确地将它们与零进行比较才能创建boolean
结果。此外,对于闰年计算,您希望在划分时比较余数,因此我们%
代替/
:
if ((year % 4 == 0) && (year % 100 != 0)) {
不要忘记可以被400整除的年份,这是闰年。我会把这个改变留给你。
答案 1 :(得分:0)
(year/4) && !(year/100)
这些整数运算都不等于布尔值。你可能想尝试类似的东西:
if(year%4 == 0)
或类似的东西。我知道那里的闰年逻辑并不完美,但关键是你需要进行某种比较(==)。
答案 2 :(得分:0)
尝试此而不是分区“/”使用模式“%”。
if ((year % 4 == 0) && (year % 100 != 0)) {