这是我的代码:
Scanner scan = new Scanner(System.in);
String userInput = scan.nextLine();
String nameArray[] = new String[20];
double gradeArray[][] = new double[20][5];
double avgArray[] = new double[20];
double average;
// iterate through all 20 students
for (int i = 0; i < 21; i++)
{
// ask for user input for grade
System.out.println("Please enter 5 of the student's grade(s): ");
average = 0;
nameArray[i] = userInput;
for (int j = 0; j < 5; j++)
{
gradeArray[i][j] = Double.parseDouble(userInput);
average +=Double.parseDouble(userInput);
System.out.println("/n");
}
avgArray[i] = average;
}在将userInput转换为双精度值并在我的gradeArray gradeArray[i][j] = Double.parseDouble(userInput);中将i设置为等于它的代码行中,我一直遇到错误。我不确定接收userInput并将其作为double插入到gradeArray中的正确方法是什么。
发布于 2016-11-30 04:55:26
我认为问题在于您误解了如何从函数中赋值。scan.nextLine()是一个函数,它将等待用户完成他/她的输入,然后按下"enter“。您需要在每次期望来自用户的输入时调用此函数。我希望这能解决你的问题。另一件重要的事情是,输入的文本必须是双精度的正确格式。所以1.2可以工作,但1,2不能。祝好运!
https://stackoverflow.com/questions/40874544
复制相似问题