有谁知道如何为数组设置用户输入,我无法在任何地方找到命令。我的阵列'成绩'有20个位置。我不太确定'grades.length'功能,但我认为它会提示20次。但是我添加了一个while语句来覆盖但是它完全忽略了FOR声明。如果我可以设置数组的用户输入我可以摆脱while语句... 程序必须接受用户输入btw的学生人数等级。
import java.util.Scanner;
public class gradesaverage {
public static void main(String[] args) {
int [] grades = new int [20];
int i;
int numStudents;
System.out.print("Enter number of students: ");
Scanner scanint = new Scanner (System.in);
numStudents = scanint.nextInt();
for ( i = 1; i <= grades.length; ++i)
{
System.out.println("Enter grade: ");
grades[i] = scanint.nextInt();
}
while(i <= numStudents );
}
}
答案 0 :(得分:1)
不确定你的意思,但假设所有输入都是正确的,
int [] grades = new int [numStudents ];
如果在声明和分配numStudents
后移动此行,则应该有效。使用可变长度数组的java没有问题。
另请注意 - 您的迭代器i
从1开始,而在java数组中从0开始。
public static void main(String[] args) {
int i;
int numStudents;
System.out.print("Enter number of students: ");
Scanner scanint = new Scanner (System.in);
numStudents = scanint.nextInt();
int [] grades = new int [numStudents]; //the size we wanted
for ( i = 0; i < grades.length; ++i) //starting from 0, not 1.
{
System.out.println("Enter grade: ");
grades[i] = scanint.nextInt();
}
//print the array - for checking out everyting is ok
System.out.println(Arrays.toString(grades));
}