设某一个班共有N(N=20)名学生,期末考试5门课程,请编一程序评定学生的奖学金,要求打印输出一、二等奖学金学生的学号、姓名和各门课成绩。

题目:设某一个班共有NN=20)名学生,期末考试5门课程,请编一程序评定学生的奖学金,要求打印输出一、二等奖学金学生的学号、姓名和各门课成绩。

      (奖学金评定标准是:总成绩超过全班总平成绩10%发给一个奖学金,超过全班总平成绩20%发给二个奖学金。)

代码:

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = 20;
        Student[] class1 = new Student[N];
        String name,studentId;
        double score1,score2,score3,score4,score5;
        for (int i = 0; i < class1.length; i++) {
            System.out.println("请输入第" + (i+1) + "名学生的信息");
            System.out.println("请输入学生姓名:");
            name = sc.next();
            System.out.println("请输入学生学号");
            studentId = sc.next();
            System.out.println("请分别输入该学生五门课程的成绩:");
            score1 = sc.nextDouble();
            score2 = sc.nextDouble();
            score3 = sc.nextDouble();
            score4 = sc.nextDouble();
            score5 = sc.nextDouble();
            Student student = new Student(name,studentId,score1,score2,score3,score4,score5);
            student.setSumScore();
            class1[i] = student;
        }
        for (int i = 0; i < class1.length; i++) {
            for (int j = 1; j < class1.length-i; j++) {
                if (class1[j].getSumScore()>class1[j-1].getSumScore()){
                    Student student = class1[j];
                    class1[j] = class1[j-1];
                    class1[j-1] = student;
                }
            }
        }

        for (int i = 0; i < class1.length; i++) {
            if (i<N*0.1){
                System.out.println("一等奖:" + "学号:" + class1[i].getStudentId() + " 姓名:" +class1[i].getName() + " 成绩:" +
                        class1[i].getScore1() + " " + class1[i].getScore2() + " " + class1[i].getScore3() + " " + class1[i].getScore4() + " " + class1[i].getScore5());
            }else if (i<N*0.2){
                System.out.println("二等奖:" + "学号:" + class1[i].getStudentId() + " 姓名:" +class1[i].getName() + " 成绩:" +
                        class1[i].getScore1() + " " + class1[i].getScore2() + " " + class1[i].getScore3() + " " + class1[i].getScore4() + " " + class1[i].getScore5());
            }
        }
    }

}
class Student{
    private String Name;
    private String studentId;
    private double score1;
    private double score2;
    private double score3;
    private double score4;
    private double score5;
    private double sumScore;

    public Student() {
    }

    public Student(String name, String studentId, double score1, double score2, double score3, double score4, double score5) {
        Name = name;
        this.studentId = studentId;
        this.score1 = score1;
        this.score2 = score2;
        this.score3 = score3;
        this.score4 = score4;
        this.score5 = score5;
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        this.Name = name;
    }

    public String getStudentId() {
        return studentId;
    }

    public void setStudentId(String studentId) {
        this.studentId = studentId;
    }

    public double getScore1() {
        return score1;
    }

    public void setScore1(double score1) {
        this.score1 = score1;
    }

    public double getScore2() {
        return score2;
    }

    public void setScore2(double score2) {
        this.score2 = score2;
    }

    public double getScore3() {
        return score3;
    }

    public void setScore3(double score3) {
        this.score3 = score3;
    }

    public double getScore4() {
        return score4;
    }

    public void setScore4(double score4) {
        this.score4 = score4;
    }

    public double getScore5() {
        return score5;
    }

    public void setScore5(double score5) {
        this.score5 = score5;
    }

    public double getSumScore() {
        return sumScore;
    }

    public void setSumScore() {
        sumScore = score1 + score2 + score3 + score4 + score5;
    }

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值