m0_51282554 2021-07-06 15:51 采纳率: 60%
浏览 54
已结题

JAVA求问求问求问

4、 (学生选课)根据下面的类图,编写课程Course类和学生Student类。
Course类说明如下:
(1)addStudent方法用于添加一个选课的学生;
(2)toString方法用于返回课程的所有信息,包括课程名称和选课学生。
Student类说明如下:
(1)toString方法用于返回学生的信息。
注意:图中省略了两个类所有数据域的修改器和读取器。

编写测试类,创建一门课程对象和两个学生对象,为该课程添加两个选课学生。
样例如下:

img

img

  • 写回答

3条回答 默认 最新

  • 穹龙 2021-07-07 10:37
    关注
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    @Test
      public void test() {
        class Student {
          private int stuNo;
          private String name;
    
          Student() {
          }
    
          Student(int stuNo, String name) {
            this.stuNo = stuNo;
            this.name = name;
          }
    
          @Override
          public String toString() {
            return "Student{" + "stuNo=" + stuNo + ", name='" + name + '\'' + '}';
          }
        }
        class Course {
          private String name;
          private List<Student> stuList;
          private int numberOfStudents;
    
          Course() {
          }
    
          Course(String name) {
            this.name = name;
          }
    
          Course(String name, List<Student> stuList, int numberOfStudents) {
            this.name = name;
            this.stuList = stuList;
            this.numberOfStudents = numberOfStudents;
          }
    
          public Course addStudent(Student stu) {
            if (CollectionUtil.isEmpty(stuList)) {
              stuList = new ArrayList<>();
            }
            stuList.add(stu);
            return this;
          }
    
          @Override
          public String toString() {
            return "Course{" + "name='" + name + '\'' + ", stuList=" + stuList + ", numberOfStudents=" + numberOfStudents
              + '}';
          }
        }
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入选课课程名称");
        String courseName = scanner.nextLine();
        Course course = new Course(courseName);
    
        scanner = new Scanner(System.in);
        System.out.println("请输入学生学号");
        int student1No = scanner.nextInt();
        scanner = new Scanner(System.in);
        System.out.println("请输入学生姓名");
        String student1Name = scanner.nextLine();
        Student student1 = new Student(student1No, student1Name);
    
        scanner = new Scanner(System.in);
        System.out.println("请输入学生学号");
        int student2No = scanner.nextInt();
        scanner = new Scanner(System.in);
        System.out.println("请输入学生姓名");
        String student2Name = scanner.nextLine();
        Student student2 = new Student(student2No, student2Name);
    
        course.addStudent(student1);
        course.addStudent(student2);
    
        System.out.println("课程名称 "+course.name);
        System.out.println("选课学生名单");
        for(Student student : course.stuList){
          System.out.print("学号 "+student.stuNo);
          System.out.println(" 姓名"+student.name);
        }
      }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 个人网站被恶意大量访问,怎么办
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大