public static void main(String[] args){
boolean x=true;
boolean y=true;
boolean z=false;
boolean m=false;
System.out.println("true^true=" + x^y);
System.out.println("false^false=" + z^m);
System.out.println("true^false=" + x^z);
System.out.println("false^true=" + z^x);
}
}
出现下面这个错误
^运算两边都是布尔值 为什么会出错呢
----------------解决方案--------------------------------------------------------
你想做什么运算?
----------------解决方案--------------------------------------------------------
位运算???没用过..那东西很少用.
----------------解决方案--------------------------------------------------------
之所以会出这种错误,是因为你不了解操作符的优先级别
你改成这样就不会出错了
[CODE]
boolean x=true;
boolean y=true;
boolean z=false;
boolean m=false;
System.out.println("true^true=" + (x^y));
System.out.println("false^false=" + (z^m));
System.out.println("true^false=" + (x^z));
System.out.println("false^true=" + (z^x));[/CODE]
把异或运算用括号括起来,否则的话,编译器会认为你和String在异或,当然会报错了
----------------解决方案--------------------------------------------------------
新手就遇到这个问题了,学习
----------------解决方案--------------------------------------------------------
这是要注意的问题 所以 多加括号 记容易看懂 又不容易出错 呵呵
----------------解决方案--------------------------------------------------------
MM说得很有道理
----------------解决方案--------------------------------------------------------
非常感谢楼上各位
----------------解决方案--------------------------------------------------------
之所以会出这种错误,是因为你不了解操作符的优先级别
你改成这样就不会出错了
[CODE]
boolean x=true;
boolean y=true;
boolean z=false;
boolean m=false;
System.out.println("true^true=" + (x^y));
System.out.println("false^false=" + (z^m));
System.out.println("true^false=" + (x^z));
System.out.println("false^true=" + (z^x));[/CODE]
把异或运算用括号括起来,否则的话,编译器会认为你和String在异或,当然会报错了
呵呵,高手就是高手 一眼就看出问题所在
努力中
----------------解决方案--------------------------------------------------------