在同一索引中仅显示相同的数组

时间:2013-11-20 12:25:37

标签: java arrays

在数组中只显示相同元素的正确条件是什么?

这是代码。

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

在第二个数组中,仍显示222,即使它们不相等。

1 个答案:

答案 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]);
    }
  }
}