学生成绩管理系统(java)

package com.softeem.work.T6;

public class K1 {
    private String id;//学号
    private String name;//姓名
    private double grade1;//第一门课成绩
    private double grade2;//第二门课成绩
    private double grade3;//第三门课成绩
    private double grade;//平均成绩


    public K1() {
    }

    public K1(String id, String name, double grade1, double grade2, double grade3) {
        this.id = id;
        this.name = name;
        this.grade1 = grade1;
        this.grade2 = grade2;
        this.grade3 = grade3;
        this.grade = (grade1 + grade2 + grade3)/3;

    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public double getGrade1() {
        return grade1;
    }

    public void setGrade1(double grade1) {
        this.grade1 = grade1;
    }

    public double getGrade2() {
        return grade2;
    }

    public void setGrade2(double grade2) {
        this.grade2 = grade2;
    }

    public double getGrade3() {
        return grade3;
    }

    public void setGrade3(double grade3) {
        this.grade3 = grade3;
    }

    public double getGrade() {
        return grade;
    }

    @Override
    public String toString() {
        return  "学号:" + id + "\n" +
                "姓名:" + name + "\n" +
                "第一门课成绩:" + grade1 + "\n" +
                "第二门课成绩:" + grade2 + "\n" +
                "第三门课成绩:" + grade3 + "\n" +
                "平均成绩:" + grade;
    }
}

package com.softeem.work.T6;

import java.util.*;

public class K2 {
    Scanner sc = new Scanner(System.in);
    List<K1> list = new ArrayList<K1>();

    public void add1 (){
        while (true){
            System.out.println("是否录入学员信息Y/N");
            String a = sc.next();
            if(a.equalsIgnoreCase("y")){
                System.out.println("请输入学员信息");
                String id = "";
                for(;;){
                    boolean flag = true;
                    System.out.println("学号:");
                    id = sc.next();
                    for(int i=0 ; i<list.size() ; i++){
                        if(id.equals(list.get(i).getId())){
                            System.out.println("该学号已被使用请重新输入");
                            flag = false;
                        }
                    }
                    if(flag){
                        break;
                    }
                }
                System.out.println("姓名:");
                String name = sc.next();
                System.out.println("第一门课成绩:");
                double grade1 = sc.nextDouble();
                System.out.println("第二门课成绩:");
                double grade2 = sc.nextDouble();
                System.out.println("第三门课成绩:");
                double grade3 = sc.nextDouble();
                K1 k = new K1(id,name,grade1,grade2,grade3);
                list.add(k);
            }else{
                break;
            }
            Collections.sort(list, new Comparator<K1>() {
                @Override
                public int compare(K1 o1, K1 o2) {
                    int k = -(int)(o1.getGrade() - o2.getGrade());
                    if(k==0){
                        k = o1.getName().charAt(0) - o2.getName().charAt(0);
                    }
                    return k;
                }
            });
            for(K1 k : list){
                System.out.println(k.toString());
            }
        }
    }

    public void add2 (){
        System.out.println("请输入新增学员信息");
        String id = "";
        for(;;){
            boolean flag = true;
            System.out.println("学号:");
            id = sc.next();
            for(int i=0 ; i<list.size() ; i++){
                if(id.equals(list.get(i).getId())){
                    System.out.println("该学号已被使用请重新输入");
                    flag = false;
                }
            }
            if(flag){
                break;
            }
        }
        System.out.println("姓名:");
        String name = sc.next();
        System.out.println("第一门课成绩:");
        double grade1 = sc.nextDouble();
        System.out.println("第二门课成绩:");
        double grade2 = sc.nextDouble();
        System.out.println("第三门课成绩:");
        double grade3 = sc.nextDouble();
        K1 k = new K1(id,name,grade1,grade2,grade3);
        list.add(k);
        Collections.sort(list, new Comparator<K1>() {
            @Override
            public int compare(K1 o1, K1 o2) {
                int k = -(int)(o1.getGrade() - o2.getGrade());
                if(k==0){
                    k = o1.getName().charAt(0) - o2.getName().charAt(0);
                }
                return k;
            }
        });
        for(K1 s : list){
            System.out.println(s.toString());
        }
    }

    public void add3 (){
        System.out.println("输入要删除的学员学号");
        String a = sc.next();
        for(int i=0 ; i<list.size() ; i++){
            if(a.equals(list.get(i).getId())){
                list.remove(i);
            }
        }
        for(K1 s : list){
            System.out.println(s.toString());
        }
    }

    public void mune(){
        System.out.println("1、添加学员信息");
        System.out.println("2、插入学员信息");
        System.out.println("3、删除学员信息");
        System.out.println("0、退出");
        int a = sc.nextInt();
        switch (a){
            case 1:
                add1();
                mune();
                break;
            case 2:
                add2();
                mune();
                break;
            case 3:
                add3();
                mune();
                break;
            case 0:
                System.out.println("程序已退出");
                System.exit(0);
        }


    }
}
package com.softeem.work.T6;

public class Test {
    public static void main(String[] args) {
        K2 k = new K2();
        k.mune();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值