【发布时间】:2014-03-01 00:26:57
【问题描述】:
比较两个 int 数组中的元素时遇到问题。我正在使用 for 循环来比较两个数组中的每个元素,如果元素匹配,则布尔结果返回 true,否则返回 false。问题是它总是返回 true,不管它们是否匹配。
整个程序在这里http://pastebin.ca/2626244
循环:
boolean result;
int counter = 0;
//compares answers[] to key[]
for (int i = 0; i < size; i++) {
if (answers[i] == key[i]) {
result = true;
}
if (answers[i] != key[i]) {
result = false;
}
if (result = true) {
counter++;
}
}
System.out.println(counter+"/"+size+" questions are correct.");
因此,“计数器”始终与元素总数(“大小”)相同。即使两个数组包含完全不同的值,结果仍然不会是 0/size。它似乎总是大小/大小。
我是否错误地比较了数组(请参阅完整程序),还是我的循环有问题?
【问题讨论】: