Exception in thread “main“ java.lang.IndexOutOfBoundsException: Index: 1, Size: 0错误解决

本文详细解析了在使用Java ArrayList过程中遇到的IndexOutOfBoundsException错误,并提供了一段具体的代码示例,展示了如何正确地向ArrayList中添加元素,避免出现越界错误。

Exception in thread “main” java.lang.IndexOutOfBoundsException: Index: 1, Size: 0错误解决

at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at FindNumbersWithSum42.FindNumbersWithSum.FindNumbersWithSum(FindNumbersWithSum.java:28)
at FindNumbersWithSum42.FindNumbersWithSum.main(FindNumbersWithSum.java:9)
// 如果你的代码中出现了ArrayList<Integer>,那么错误就可能是在往ArrayList<Integer>里面添加数据
的时候用了arr.get(result[0]);   ArrayList<Integer>添加数据的时候用的是arr.add(result[0]);
public static ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
	int temp =100000;
	Integer[] result = {null,null};
	ArrayList<Integer> arr = new ArrayList<>();
	for(int i =0 ; i< array.length-1;i++){
		for(int j =i+1;j<array.length;j++){
			if(array[i]+array[j] == sum){
				if(array[i]*array[j]<temp){
				temp=array[i]*array[j];
				result[0]=array[i];
				result[1]=array[j];
				}
			}
		}
		}
	if(result[0]==null)
		return arr;
	//arr.get(result[0]);错误形式
	arr.add(Math.min(result[0], result[1]));
	arr.add(Math.max(result[0], result[1]));
	return arr;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值