gpt4 book ai didi

java - 需要扫描仪输入阵列

转载 作者:行者123 更新时间:2023-12-01 13:46:35 24 4
gpt4 key购买 nike

有谁知道如何为数组设置用户输入,我在任何地方都找不到该命令。我的数组“等级”有 20 个位置。我不太确定“grades.length”功能,但我认为它会提示 20 次。但我添加了一个 while 语句来覆盖但它完全忽略了 FOR 语句。如果我可以为数组设置用户输入,我可以摆脱 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));
}

关于java - 需要扫描仪输入阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20324558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com