import java.util.Scanner; public class result { public static void main(String[]args){ Scanner scanner = new Scanner(System.in); System.out.println("输入学生的数量:"); int numOfStudents; numOfStudents = scanner.nextInt(); String[] names = new String[numOfStudents]; int[] grades = new int[numOfStudents]; for(int i = 0 ; i < numOfStudents;i++){ System.out.println("请输入第"+(i+1)+"个学生的姓名:"); names[i]= scanner.next(); System.out.println("请输入"+(i+1)+"个学生的成绩"); grades[i]= scanner.nextInt(); break; } System.out.println("学生成绩如下:"); { int i = 0 ; while (i < numOfStudents) { i++; } } int i = 0; System.out.println(names[i]+"的成绩是"+grades[i]); }
时间: 2024-02-14 19:12:32 浏览: 55
这段代码的实现思路是先让用户输入学生的数量,然后通过循环让用户依次输入每个学生的姓名和成绩,最后输出所有学生的成绩。
不过,这段代码存在一个问题:在输入完第一个学生信息后,就直接使用了 `break` 语句退出了循环,导致后面的学生信息都没有输入。因此,您需要将 `break` 语句删除,以便让用户能够输入完所有学生的信息。
此外,在输出学生成绩时,您需要使用一个循环语句来遍历所有学生的姓名和成绩,而不是只输出第一个学生的信息。
下面是修改后的代码:
```
import java.util.Scanner;
public class result {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入学生的数量:");
int numOfStudents;
numOfStudents = scanner.nextInt();
String[] names = new String[numOfStudents];
int[] grades = new int[numOfStudents];
for (int i = 0; i < numOfStudents; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的姓名:");
names[i] = scanner.next();
System.out.println("请输入" + (i + 1) + "个学生的成绩");
grades[i] = scanner.nextInt();
}
System.out.println("学生成绩如下:");
for (int i = 0; i < numOfStudents; i++) {
System.out.println(names[i] + "的成绩是" + grades[i]);
}
}
}
```
希望对您有帮助。
阅读全文