java录入学生多个课程和对应成绩的方法,不用map
时间: 2024-03-04 20:49:02 浏览: 53
学生成绩管理系统(java)源码.zip
不使用Map存储学生多个课程和对应成绩的方法,可以使用Java中的面向对象思想,定义一个Student类,其中包含学生姓名、课程名称和对应成绩的实例变量,然后使用数组来存储多个学生对象。以下是示例代码:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生人数:");
int count = scanner.nextInt();
Student[] students = new Student[count];
for (int i = 0; i < count; i++) {
System.out.print("请输入学生姓名:");
String name = scanner.next();
System.out.print("请输入课程数量:");
int courseCount = scanner.nextInt();
String[] courses = new String[courseCount];
double[] scores = new double[courseCount];
for (int j = 0; j < courseCount; j++) {
System.out.print("请输入课程名称:");
courses[j] = scanner.next();
System.out.print("请输入成绩:");
scores[j] = scanner.nextDouble();
}
students[i] = new Student(name, courses, scores);
}
System.out.println("学生成绩如下:");
for (Student student : students) {
System.out.println(student.getName() + ":");
for (int i = 0; i < student.getCourseCount(); i++) {
System.out.println(student.getCourse(i) + ": " + student.getScore(i));
}
}
}
}
class Student {
private String name;
private String[] courses;
private double[] scores;
public Student(String name, String[] courses, double[] scores) {
this.name = name;
this.courses = courses;
this.scores = scores;
}
public String getName() {
return name;
}
public int getCourseCount() {
return courses.length;
}
public String getCourse(int index) {
return courses[index];
}
public double getScore(int index) {
return scores[index];
}
}
```
运行示例:
```
请输入学生人数:2
请输入学生姓名:张三
请输入课程数量:2
请输入课程名称:数学
请输入成绩:80
请输入课程名称:英语
请输入成绩:90
请输入学生姓名:李四
请输入课程数量:2
请输入课程名称:物理
请输入成绩:85
请输入课程名称:化学
请输入成绩:95
学生成绩如下:
张三:
数学: 80.0
英语: 90.0
李四:
物理: 85.0
化学: 95.0
```
阅读全文