[英]need scanner input for array
有谁知道如何为数组设置用户输入,我在任何地方都找不到该命令。 我的阵列“成绩”有20个位置。 我不太了解“ grades.length”功能,但我认为它会提示20次。 但是我添加了一个while语句来覆盖它,而完全忽略了FOR STATEMENT。 如果我可以为数组设置用户输入,则可以摆脱while语句...程序必须接受用户输入的学生数的分数。
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 );
}
}
不确定您的意思,但假设所有输入正确,
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));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.