Java数组索引越界4 [重复]

2024-02-11

我是 Java 新手,正在运行下面的代码,该代码运行良好,但出现数组索引越界异常。有人可以帮助理解为什么我会收到此异常吗?

public class array {
    public static void main (String[] args)
    {
    int[] b = {1,2,3,4};
    array ar = new array();
    ar.process(b);
    }
    public int process (int[] a)
    {
    int i;
    System.out.println("Length is: " +a.length);
    for(i = 0; i < a.length ; i++) {
    System.out.println("A is : " + a[i] + "  I is" +i);        
    }
    return a[i];
    }        
    }

Exception

Length is: 4
A is : 1  I is0
A is : 2  I is1
A is : 3  I is2
A is : 4  I is3
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
        at array.process(array.java:17)
        at array.main(array.java:7)

问题是这一行:

return a[i];

既然是在外面for循环,i 变成了 4。

你可以做到:

return a[i-1];

要修复它,但您需要澄清为什么要返回数组的最后一个元素作为返回值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java数组索引越界4 [重复] 的相关文章

随机推荐