【一】:错误代码
package demo;
import java.util.Arrays;
public class demo5 {
public static void main(String[] args) {
int arr[]=new int[]{10,20,30,40};
Arrays.fill(arr,1,5,8);
for(int i=0;i<arr.length;i++){
System.out.println("第"+i+"个元素为"+arr[i]);
}
}
}
【二】:错误输出

【三】:错误分析
为什么会出现数组越界异常?
首先我们来分析一下Arrays.fill(arr[],fromIndex,toIndex,val)这个方法的意思是:对数组arr从数组下标索引为fromIndex开始,到下标为toIndex结束,这一段数值使用val值将其替换。我们能够清楚的是此方法顾前不顾后,即Arrays.fill(arr,1,5,8)的意思就是对数组arr,从下标1开始到下标5(实际替换到5-1处)这段数值,用8将其替换。但是次数组下标为5不存在,因此出现了异常。
【四】:错误修改:

本文分析了使用Java的Arrays.fill方法时出现数组越界异常的原因,并给出了解决方案。通过实例说明了Arrays.fill方法的工作原理及参数设置不当导致的问题。
6873

被折叠的 条评论
为什么被折叠?



