在数组中只显示相同元素的正确条件是什么?
这是代码。
int num[] = new int[5];
int numm[] = new int[5];
for (int x = 0; x < num.length; x++) {
num[x] = Integer.parseInt(JOptionPane.showInputDialog("Enter Values for num[" + (x + 1) + "]"));
}
for (int x1 = 0; x1 < num.length; x1++) {
num[x1] = Integer.parseInt(JOptionPane.showInputDialog("Enter Values for num1[" + (x1 + 1) + "]"));
}
String tosho = "";
for (int a = 0; a < num.length; a++) {
for (int a1 = 0; a1 < numm.length; a1++) {
if (num[0] == numm[0]) {
num[0] =n umm[0];
} else if (num[1] == numm[1]) {
num[1] = numm[1];
} else if (num[2] == numm[2]) {
num[2] = numm[2];
} else if (num[3] == numm[3]) {
num[3] = numm[3];
} else if(num[4] == numm[4]) {
num[4] = numm[4];
}
}
}
tosho += (num[0]) + "" + (num[1]) + "" + (num[2]) + "" + (num[3]) + "" + (num[4]);
JOptionPane.showMessageDialog(null, "both " + tosho + " found in array.");
当我输入
1,2,3,4,5
在第一个aary,然后
1,22,3,4,5
在第二个数组中,仍显示2
或22
,即使它们不相等。
答案 0 :(得分:1)
在第二个循环中,您必须使用a1
初始化a+1
,以便获得预期的输出。
boolean f = false;
for (int a = 0; a < num.length; a++) {
for (int a1 = a+1; a1 < numm.length; a1++) {
if (num[a] == num[a1]) {
JOptionPane.showMessageDialog(null, num[a]);
}
}
}