我是编程新手。我正在打印出一张真相表。它包含AND,OR,XOR,NOT。我完成了前三部分。但是当我试图编写“不”部分我从编译器得到一个错误“错误的操作数为int一元运算符(!)”。使用布尔变量在“1”和“0”中打印真值表
class oneandzero{
public static void main (String [] args){
boolean p,q;
int a,b;
System.out.println("P\tQ\tAND\tOR\tXOR\tNOT P\tNOT Q");
p=false; q=false;
a=(p)?1:0;
b=(q)?1:0;
System.out.println(a+"\t"+b+"\t"+(a&b)+"\t"+(a|b)+"\t"+(a^b)+"\t"+(!a)+"\t"+(!b));
p=false; q=true;
a=(p)?1:0;
b=(q)?1:0;
System.out.println(a+"\t"+b+"\t"+(a&b)+"\t"+(a|b)+"\t"+(a^b)+"\t"+(!a)+"\t"+(!b));
p=true; q=false;
a=(p)?1:0;
b=(q)?1:0;
System.out.println(a+"\t"+b+"\t"+(a&b)+"\t"+(a|b)+"\t"+(a^b)+"\t"+(!a)+"\t"+(!b));
p=true; q=true;
a=(p)?1:0;
b=(q)?1:0;
System.out.println(a+"\t"+b+"\t"+(a&b)+"\t"+(a|b)+"\t"+(a^b)+"\t"+(!a)+"\t"+(!b));
}
}
因为你只能使用NOT运算符,当你检查某些东西时[更大/更小/方程式/ condidtionsl]。你在int之前不能使用NOT运算符。 –