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错误。我的数组大小是否需要调整,或者我发送的输入太多?
答案 0 :(得分:0)
“天”数组中有7个元素,因此创建了一个大小为7个元素的“临时”数组。但是在while循环中,您从索引0迭代到7(8个迭代!),并使用该索引(while (i <= days.length) {...
访问days数组的元素。
因此,最后您访问的数组天数为7的元素,但是由于数组索引从0开始,因此该数组的最后一个索引为6!
while (i < days.length) {...
应该修正您的代码。