将JOptionPane输入读入数组

时间:2018-09-15 22:20:09

标签: java arrays loops input joptionpane

package javaapplication3;

import javax.swing.JOptionPane;

public class JavaApplication3 {


    public static void main(String[] args) {

        Double[] temp = new Double[7];
        String[] days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturady"};


        int i = 0;
        while (i <= days.length){

            temp[i] = Double.parseDouble(JOptionPane.showInputDialog("Please enter " + days[i] + "'s temperature in Fahrenheit."));


            i++;
        }

    }
}

我正在尝试将用户的输入读取到temp数组中,但是在程序末尾出现ArrayIndexOutOfBounds错误。我的数组大小是否需要调整,或者我发送的输入太多?

1 个答案:

答案 0 :(得分:0)

“天”数组中有7个元素,因此创建了一个大小为7个元素的“临时”数组。但是在while循环中,您从索引0迭代到7(8个迭代!),并使用该索引(while (i <= days.length) {...访问days数组的元素。

因此,最后您访问的数组天数为7的元素,但是由于数组索引从0开始,因此该数组的最后一个索引为6!

while (i < days.length) {...

应该修正您的代码。