
教海导航为您分享以下优质知识
在Java中输入学生成绩通常涉及以下步骤:数据输入、数据存储、数据验证和结果输出。以下是一个综合示例,展示如何实现这些功能:
一、数据输入
使用`Scanner`类从键盘读取用户输入。例如,输入学生人数、学号、姓名及多门课程成绩。
```java
import java.util.Scanner;
public class StudentGradeInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入学生人数
System.out.print("请输入学生人数(不超过30):");
int numStudents = scanner.nextInt();
// 动态数组存储学生成绩
double[][] scores = new double[numStudents];
String[] names = new String[numStudents];
for (int i = 0; i < numStudents; i++) {
System.out.println("输入第" + (i+1) + "个学生的信息:");
System.out.print("学号:");
names[i] = scanner.next();
System.out.print("姓名:");
scores[i] = new double; // 假设每门课程成绩存储在数组中
for (int j = 0; j < 3; j++) {
System.out.print("课程" + (j+1) + "成绩:");
scores[i][j] = scanner.nextDouble();
}
}
scanner.close();
}
}
```
二、数据验证
确保输入的数据符合要求,例如成绩在0-100之间,学号不重复等。
```java
// 示例:验证成绩范围
for (int i = 0; i < numStudents; i++) {
for (int j = 0; j < 3; j++) {
if (scores[i][j] < 0 || scores[i][j] >
100) {
System.out.println("成绩输入错误:第" + (i+1) + "个学生第" + (j+1) + "门课程成绩必须在0-100之间");
return;
}
}
}
```
三、核心功能实现
遍历成绩数组,找到最高分并根据等级划分输出。
```java
double maxScore = scores;
String maxStudent = names;
for (int i = 1; i < numStudents; i++) {
if (scores[i] >
maxScore) {
maxScore = scores[i];
maxStudent = names[i];
}
}
// 等级划分逻辑
String grade;
if (maxScore >
= 90) grade = "A";
else if (maxScore >
= 80) grade = "B";
else if (maxScore >
= 70) grade = "C";
else grade = "D";
System.out.println("最高分学生:" + maxStudent + ",成绩:" + maxScore + ",等级:" + grade);
```
统计不及格人数及名单
遍历成绩数组,统计不及格(