读取JOptionPane输入到数组中

问题描述 投票:0回答:1
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++;
        }

    }
}

我试图读取用户输入到临时数组但我在程序结束时得到一个ArrayIndexOutOfBounds错误。我的阵列大小是否需要调整,或者我发送了太多输入?

java arrays loops input joptionpane
1个回答
0
投票

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

所以最后你访问了你的days数组的索引为7的元素,但是由于数组索引从0开始,所以这个数组的最后一个索引是6!

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

应该修复你的代码。

© www.soinside.com 2019 - 2024. All rights reserved.