Java 如何获取数组[]的索引号
我试图解决这个问题: 编写一个名为GradesAverage的程序,提示用户输入 学生人数,从键盘读取,并将其保存为整数 名为numStudents的变量。然后,它会提示用户输入考试成绩 并将每个学生存储在一个名为grades的整数数组中。 您的程序应检查等级是否在0到100之间。样品 会议内容如下: 但是,在我的文件中,程序是这样工作的(注意“学生”): 你能看到10号、20号和30号吗?它不显示Java 如何获取数组[]的索引号,java,arrays,Java,Arrays,我试图解决这个问题: 编写一个名为GradesAverage的程序,提示用户输入 学生人数,从键盘读取,并将其保存为整数 名为numStudents的变量。然后,它会提示用户输入考试成绩 并将每个学生存储在一个名为grades的整数数组中。 您的程序应检查等级是否在0到100之间。样品 会议内容如下: 但是,在我的文件中,程序是这样工作的(注意“学生”): 你能看到10号、20号和30号吗?它不显示student1、student2和student3,而是显示student10、student2
student1
、student2
和student3
,而是显示student10
、student20
和student30
这是我的密码:
import java.util.Scanner;
class GradesAverage {
public static void main (String[] args) {
Scanner miScanner = new Scanner(System.in);
System.out.println("Enter the number of students: ");
int numStudents = miScanner.nextInt();
int numberGrades[] = new int[numStudents];
int averageGrade = 0;
for (int i = 1; i <= numStudents; i++) {
System.out.println("Enter the grade for student" + i + numberGrades[numStudents - i]);
int grade = miScanner.nextInt();
averageGrade += grade;
if (grade < 0 || grade >100) {
System.out.println("Invalid grade, try again...");
break;
}
}
double average = averageGrade/numStudents;
System.out.println("The average is " + average);
}
}
import java.util.Scanner;
等级储蓄率{
公共静态void main(字符串[]args){
Scanner miScanner=新扫描仪(System.in);
System.out.println(“输入学生人数:”);
int numStudents=miScanner.nextInt();
int numberGrades[]=新int[numStudents];
int平均等级=0;
对于(int i=1;i 100){
System.out.println(“无效等级,请重试…”);
打破
}
}
双倍平均=平均成绩/nums学生;
System.out.println(“平均值为”+平均值);
}
}
更改
System.out.println("Enter the grade for student" + i + numberGrades[numStudents - i]);
到
由于额外的numberGrades[numStudents-i]
而输出额外的0
为什么是零?因为numberGrades
是一个数组;初始化数组时,它将其元素初始化为其默认类型的值。(在本例中,它是int
s的数组,因此其所有元素都初始化为0)
PS:您在冒号后面看到的数字(在本例中为55):
实际上是一个输入,而不是一个系统输出。System.out.println(“为学生输入分数”+i+numberGrades[numStudents-i])代码>
它会打印出这个输入学生的分数i
numberGrades[numStudents-i]
打印前不会添加这些内容,而是打印每个项目。更恰当地说,应该将其更改为:System.out.print(“为学生输入分数”+i+“:”)代码>以匹配格式。
import java.util.Scanner;
class GradesAverage {
public static void main (String[] args) {
Scanner miScanner = new Scanner(System.in);
System.out.println("Enter the number of students: ");
int numStudents = miScanner.nextInt();
int numberGrades[] = new int[numStudents];
int averageGrade = 0;
for (int i = 1; i <= numStudents; i++) {
System.out.println("Enter the grade for student" + i + numberGrades[numStudents - i]);
int grade = miScanner.nextInt();
averageGrade += grade;
if (grade < 0 || grade >100) {
System.out.println("Invalid grade, try again...");
break;
}
}
double average = averageGrade/numStudents;
System.out.println("The average is " + average);
}
}
System.out.println("Enter the grade for student" + i + numberGrades[numStudents - i]);
System.out.println("Enter the grade for student " + i + ":");
... student 1: 55