初学Java学习者。我正在开发一个项目,我给了布尔表达式,并根据它们创建一个程序。 我设法完成了3/4,但其中一个我不断收到关于“!”的错误。
public class Boolean2{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println( "Please enter in your 3 Numbers ");
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
boolean boolNum;
boolNum = (b>a&&c!=15);
System.out.println(" " +boolNum);
boolNum = (a>b||b<c);
System.out.println(" " +boolNum);
boolNum = (a&& !a); // This is the problem line
System.out.println(" " +boolNum);
boolNum= (b<c&&c<a||c==a+b);
System.out.println(" " +boolNum);
}
}
这是错误:
Boolean2.java:16: error: bad operand type int for unary operator '!'
boolNum = (a&& !a);
答案 0 :(得分:0)
!
是一个一元的否定运算符,它需要一个布尔操作数。因此,它无法应用于int
。
通过做:
boolNum = (a&& !a);
您正尝试将!
应用于a
,a
为int
。
答案 1 :(得分:0)
在C中,这个!a
会起作用,但Java对它的类型更严格,并且不允许!an_int_var
。 !
仅适用于布尔类型。
顺便说一句:在C中,a && !a
是无意义的 - 它总是错误的,因为双方都不是真的。