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