线程中的预期"主要" Java中,lan​​g.ArrayIndexOutOFBoundsExecption

时间:2014-11-09 10:32:52

标签: java arrays

编译或运行时没有问题,但在运行程序结束时,它只打印出来 Expection in thread "main" java,lang.ArrayIndexOutOFBoundsExecption,任何猜测为什么

import java.util.Scanner;

public class ex1 {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        //dim equals too a.length
        int dim = s.nextInt();
        // value the ammount i wanna add too the array
        int value = s.nextInt();

        int[] a = new int[dim];

        for(int i = 0; i <= a.length ; ++i) {               
            a[i] = value;
            System.out.print(a[i]);
        }       
    }

}

1 个答案:

答案 0 :(得分:3)

for(int i = 0; i <= a.length ; ++i)

ArrayOutOfBounds Exception出现的地方。这是因为数组索引从0开始并以长度-1结束(在您的情况下,dim-1)而不是长度(dim)。因此,将for循环更改为

for(int i = 0; i < a.length ; ++i)