initial- - - 2023-03-01 08:52 采纳率: 86.7%
浏览 60
已结题

java学生类设计安装要求

编写一个Java应用程序。设计一个学生类Students,包括属性有:学号,姓名,性别,专业,三门课程成绩(计算机,数学,英语);包括方法有:求成绩总分,成绩平均分,各个属性的赋值方法,各个属性值的获取方法等等。

编写一个主类StudentsDemo.java,利用Students类输入5名同学的所有信息,按以下要求依次输出相关信息:

(1)输入一个学生的学号或者姓名,输出该学生的所有信息。

(2)数学课程(输入的第2门课程)最高分同学学号、姓名和课程分数

(3)总分最高与最低同学学号、姓名和课程分数

(4)有没有这样的学生存在:总分大于所有学生的平均成绩,但是至少有一门课不及格(低于60分)。若有,按行输出这些学生的全部信息;若没有,输出NOT EXIST。

分析:对于以上每个要求,编写相应的成员方法(函数)实现对应的功能,在测试类(StudentsDemo)中,调用这些方法实现相应功能。
输入

5行,5名学生信息
输出

5行,学生的相关信息
样例输入 Copy

001 aa male math 80 85 78
002 bb female math 78 78 80
003 cc female math 95 95 98
004 dd male cs 89 92 95
005 ee female cs 89 92 95
aa
样例输出 Copy

001,aa,male,math,80.0,85.0,78.0
003,cc,95.0,95.0,98.0
003,cc,95.0,95.0,98.0
002,bb,78.0,78.0,80.0
NOT EXIST

  • 写回答

3条回答 默认 最新

  • MarkHan_ 2023-03-01 09:13
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    Students类:

    public class Students {
        private String number; // 学号
        private String name; // 姓名
        private String gender; // 性别
        private String major; // 专业
        private double computerScore; // 计算机成绩
        private double mathScore; // 数学成绩
        private double englishScore; // 英语成绩
    
        // 构造方法
        public Students(String number, String name, String gender, String major, double computerScore, double mathScore, double englishScore) {
            this.number = number;
            this.name = name;
            this.gender = gender;
            this.major = major;
            this.computerScore = computerScore;
            this.mathScore = mathScore;
            this.englishScore = englishScore;
        }
    
        // 求成绩总分
        public double getTotalScore() {
            return computerScore + mathScore + englishScore;
        }
    
        // 求成绩平均分
        public double getAverageScore() {
            return getTotalScore() / 3;
        }
    
        // 各个属性的赋值方法
        public void setNumber(String number) {
            this.number = number;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public void setGender(String gender) {
            this.gender = gender;
        }
    
        public void setMajor(String major) {
            this.major = major;
        }
    
        public void setComputerScore(double computerScore) {
            this.computerScore = computerScore;
        }
    
        public void setMathScore(double mathScore) {
            this.mathScore = mathScore;
        }
    
        public void setEnglishScore(double englishScore) {
            this.englishScore = englishScore;
        }
    
        // 各个属性值的获取方法
        public String getNumber() {
            return number;
        }
    
        public String getName() {
            return name;
        }
    
        public String getGender() {
            return gender;
        }
    
        public String getMajor() {
            return major;
        }
    
        public double getComputerScore() {
            return computerScore;
        }
    
        public double getMathScore() {
            return mathScore;
        }
    
        public double getEnglishScore() {
            return englishScore;
        }
    }
    
    
    

    StudentsDemo类:

    import java.util.Scanner;
    
    public class StudentsDemo {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            Students[] students = new Students[5];
            for (int i = 0; i < 5; i++) {
                students[i] = new Students();
                String line = scanner.nextLine();
                String[] parts = line.split(" ");
                students[i].setNo(parts[0]);
                students[i].setName(parts[1]);
                students[i].setGender(parts[2]);
                students[i].setMajor(parts[3]);
                students[i].setScore(1, Double.parseDouble(parts[4]));
                students[i].setScore(2, Double.parseDouble(parts[5]));
                students[i].setScore(3, Double.parseDouble(parts[6]));
            }
            String input = scanner.nextLine();
            // 查找学号或姓名匹配的学生
            for (int i = 0; i < 5; i++) {
                if (students[i].getNo().equals(input) || students[i].getName().equals(input)) {
                    System.out.println(students[i].toString());
                }
            }
            // 查找数学最高分的学生
            int mathMaxIndex = 0;
            for (int i = 1; i < 5; i++) {
                if (students[i].getScore(2) > students[mathMaxIndex].getScore(2)) {
                    mathMaxIndex = i;
                }
            }
            System.out.println(students[mathMaxIndex].getNo() + "," + students[mathMaxIndex].getName() + ","
                    + students[mathMaxIndex].getScore(2));
            // 查找总分最高和最低的学生
            int totalMaxIndex = 0, totalMinIndex = 0;
            for (int i = 1; i < 5; i++) {
                if (students[i].getTotalScore() > students[totalMaxIndex].getTotalScore()) {
                    totalMaxIndex = i;
                }
                if (students[i].getTotalScore() < students[totalMinIndex].getTotalScore()) {
                    totalMinIndex = i;
                }
            }
            System.out.println(students[totalMaxIndex].getNo() + "," + students[totalMaxIndex].getName() + ","
                    + students[totalMaxIndex].getTotalScore());
            System.out.println(students[totalMinIndex].getNo() + "," + students[totalMinIndex].getName() + ","
                    + students[totalMinIndex].getTotalScore());
            // 查找总分大于平均分,但有至少一门不及格的学生
            double avgScore = 0;
            for (int i = 0; i < 5; i++) {
                avgScore += students[i].getTotalScore();
            }
            avgScore /= 5;
            boolean exist = false;
            for (int i = 0; i < 5; i++) {
                if (students[i].getTotalScore() > avgScore) {
                    boolean hasFail = false;
                    for (int j = 1; j <= 3; j++) {
                        if (students[i].getScore(j) < 60) {
                            hasFail = true;
                            break;
                        }
                    }
                    if (hasFail) {
                        System.out.println(students[i].toString());
                        exist = true;
                    }
                }
            }
            if (!exist) {
                System.out.println("NOT EXIST");
            }
        }
    }
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 创建了问题 3月1日

悬赏问题

  • ¥15 docker环境配置
  • ¥20 绿盟安全扫描--检测到目标站点存在javascript框架库漏洞
  • ¥30 Android STD快速启动
  • ¥15 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现