如何在JAVA中使用NOT运算符作为整数
如何在JAVA中使用NOT运算符作为整数
当我把NOT运算符(!)它显示一个错误包com.learnJava.first;
public class LogicalOpTable { public static void main(String[] args) { int p,q; System.out.println("P\t Q\t AND\t OR\t XOR\t NOT\n"); p = 1; q = 1; System.out.println(p+ "\t " + q + "\t " + (p&q) + "\t " + (p|q) + "\t " + (p^q) + "\t " + !p ); p = 1; q = 0; System.out.println(p + "\t " + q + "\t " + (p&q) + "\t " + (p|q) + "\t " + (p^q) + "\t " + !p); p = 0; q = 1; System.out.println(p + "\t " + q + "\t " + (p&q) + "\t " + (p|q) + "\t " + (p^q) + "\t " + !p); p = 0; q = 0; System.out.println(p + "\t " + q + "\t " + (p&q) + "\t " + (p|q) + "\t " + (p^q) + "\t " + !p); } }
您需要使用按位补码运算符~
,而不是逻辑补码运算符!
。
但是,您的代码似乎有点不匹配:您的类称为LogicalOpTable
,但您使用的是按位运算符,而不是逻辑运算符。
如果你真的想做逻辑运算,使用boolean
值而不是int
。
如果你真的想做按位操作,请为你的类命名,这样就不会让人感到困惑;)
一年后,但嘿,也许它仍然相关。
我在这个练习中遇到了同样的问题,但我采取了不同的方式。 如果我没有弄错,p和q最初是布尔类型,任务是修改表格以显示1和0而不是true和false。
我所做的是将每个表达式作为一个整体从boolean转换为int(例如int a =(!p)?1:0;)并将其替换为其余代码的变量(例如System.out.println(。 …. + a);)