use*_*514 2 java loops boolean
下面的代码我接受两个数组并进行比较.当thay都是相同的时候,我得到正确的消息显示,但是当它是假的时,两个消息都显示出来.显示System.out.println的最后一个if语句("相同"); 即使布尔值是假的,它似乎总是显示出来.为什么是这样????
public static void compareArrays(int[] a, int[] n){
boolean b = false;
for (int i = 0; i < n.length; i++) {
if (n[i] == a[i]) {
b = true;
} else {
b = false;
System.out.println("different");
break;
}
}
if (b = true){
System.out.println("identical");
}
}
Run Code Online (Sandbox Code Playgroud)
Pra*_*mha 12
改变这个:
if (b = true){
System.out.println("identical");
}
Run Code Online (Sandbox Code Playgroud)
至:
if (b == true){
System.out.println("identical");
}
Run Code Online (Sandbox Code Playgroud)
或更好
if (b){
System.out.println("identical");
}
Run Code Online (Sandbox Code Playgroud)
您正在分配值而不是比较.