我正在尝试编写代码以比较两个数组。在第一个数组中,我输入了自己的数字,但是在第二个数组中,输入了输入文件中的数字。该数组的大小由文件中的第一个数字确定,而第一个数组的大小始终为10。两个数组以及数字的长度必须相同。
我的代码如下:
public static void compareArrays(int[] array1, int[] array2) { boolean b = false; for (int i = 0; i < array2.length; i++) { for (int a = 0; a < array1.length; a++) { if (array2[i] == array1[a]) { b = true; System.out.println("true"); } else { b = false; System.out.println("False"); break; } } } }
public static void compareArrays(int[] array1, int[] array2) { boolean b = true; if (array1 != null && array2 != null){ if (array1.length != array2.length) b = false; else for (int i = 0; i < array2.length; i++) { if (array2[i] != array1[i]) { b = false; } } }else{ b = false; } System.out.println(b); }
从我的角度来看,你只是尝试看看它们是否相等,如果相等,则true使用类似以下的内容:
boolean areEqual = Arrays.equals(arr1, arr2);
这是这样做的标准方法。
请注意,还必须从JavaDoc 中对数组进行排序以使其相等:
如果两个数组包含相同数量的元素,并且两个数组中所有对应的元素对均相等,则认为两个数组相等。换句话说,如果两个数组包含相同顺序的相同元素,则它们相等。