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(); } }