Java扫描程序输入到数组中

时间:2014-03-15 04:18:47

标签: java arrays string

我想将扫描仪的输入放入我的阵列,但是我收到了错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

我的代码:

    public static void main(String[] args)
    {
        Scanner scanInput   =   new Scanner(System.in);
        Random randomGen    =   new Random();

        String captureString[]  = new String[] {};

        System.out.println("Please enter some words..");
        captureString[0]  =   scanInput.next();
        captureString[1]  =   scanInput.next();
        captureString[2]  =   scanInput.next();


        System.out.println("You entered: " + captureString[0] + " " + captureString[1] + " " + captureString[2]);

    }

}

我不能使用循环或条件(任务),所以这个数组是否可行?或者我应该只使用变量,只是因为我想使用数组是因为我想在事后进行一些字符串操作,这对变量来说有点尴尬

2 个答案:

答案 0 :(得分:3)

因为你得到三个输入,我建议。将其更改为String captureString[] = new String[3];。这是因为,Arrays需要在使用之前进行初始化。由于您已初始化没有值。它中没有任何索引。因此,当您访问索引0时,您将获得ArrayIndexOutOfBoundsException。希望它澄清一下!

答案 1 :(得分:2)

您的阵列captureString的容量为零。你不能在那里添加元素。 Java数组不能增长,如果内容打算增长,请使用ArrayList