gpt4 book ai didi

java - 查找两个整数数组之间的差异

转载 作者:行者123 更新时间:2023-12-02 02:41:10 25 4
gpt4 key购买 nike

我正在编写一个函数,它返回两个整数数组之间的差。我假设输入数组中的所有元素都是唯一的,并且输入数组未排序。例如:

输入:
arr1 = [1,2,3,5,4]
arr2 = [1,2,3]

预期输出:[4,5]

我的输出:[1,2,3,4,5](当第一个数组大于第二个数组时)

当我使第二个数组大于第一个数组时,我收到 ArrayIndexOutOfBoundsException 。

public class Test{

public static void main(String args[])
{

Scanner sc = new Scanner(System.in);
System.out.println("Enter length of first array");
int ml = sc.nextInt();
System.out.println("Enter length of second array");
int nl = sc.nextInt();
int m[] = new int[ml];
int n[] = new int[nl];
System.out.println("Enter elements of first array");
for(int i=0;i<ml;i++)
{
m[i] = sc.nextInt();
}

System.out.println("Enter elements of second array");
for(int j=0;j<nl;j++)
{
m[j] = sc.nextInt();
}
ArrayList<Integer> arr1 = new ArrayList<Integer>();
for(int i: m){ arr1.add(i);}
ArrayList<Integer> arr2 = new ArrayList<Integer>();
for(int j: n){ arr2.add(j);}
if(ml>nl)
{
arr1.removeAll(arr2);
System.out.println(arr1);
}
else
{
arr2.removeAll(arr1);
System.out.println(arr2);
}
}
}

最佳答案

在第二次迭代中,您应该使用 n[j] = ... 而不是 m[j] = ...您应该使用更具描述性的变量名称来防止发生类似的事情。

关于java - 查找两个整数数组之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45428373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com