【发布时间】:2013-01-31 17:39:19
【问题描述】:
下面的代码我接受两个数组并比较它们。当它们都相同时,我会显示正确的消息,但是当它们为假时,两条消息都会显示。显示 System.out.println("identical"); 的最后一个 if 语句似乎总是显示,即使布尔值为 false。这是为什么呢???
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");
}
}
【问题讨论】:
-
+1 来抵消反对票,因为我认为这是不应该的。问什么很明显,我不确定作为一个没有经验的程序员我会搜索什么来找到这个问题的答案。
-
-1。非常令人困惑,您显着改变了问题。而是让问题中的错误,并将答案标记为已接受。不过,请修复 IDE 中的错误;)
-
@user2052514,将您的代码编辑恢复到以前的版本,否则以下所有答案都将失效:)
-
我回滚了最后的更改,因为它的编辑使问题变得毫无意义