制作一个在线教学系统,通过控制台录入,学生信息要保存到HashMap,有如下功能:
1、增加学生信息
2、删除学生信息
3、修改学生信息
4、根据学号查看学生信息
5、查看成绩排行榜
6、退出系统功能
首先创建一个Student类
package hashmap;
public class Student {
private String id;
private String name;
private double score;
public Student(String id, String name, double score) {
this.id = id;
this.name = name;
this.score = score;
}
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 getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
// toString方法,方便打印学生信息
@Override
public String toString() {
return "学生的" +
"id是'" + id + '\'' +
", 名字是'" + name + '\'' +
", 成绩是" + score ;
}
}
创建一个TeachSystem类
package hashmap;
import java.util.*;
public class TeachSystem {
private HashMap<String, Student> students;
public TeachSystem() {
students = new HashMap<>();
}
// 增加学生信息
public void addStudent(String id, String name, double score) {
if (!students.containsKey(id)) {
students.put(id, new Student(id, name, score));
System.out.println("添加成功");
} else {
System.out.println("该学生已经存在");
}
}
public String removeStudent(String id) {
Student student = students.get(id);
if (student!=null) {
students.remove(id);
return "删除成功";
} else {
return "该学生不存在";
}
}
public void LookStudent(String id) {
Student student = students.get(id);
if (student!=null) {
System.out.println(student);
} else {
System.out.println("学生不存在");
}
}
public void Rank() {
System.out.println("成绩降序排名如下:");
List<Map.Entry<String, Student>> sortedStudents = new ArrayList<>(students.entrySet());
sortedStudents.sort((entry1, entry2) -> Double.compare(entry2.getValue().getScore(), entry1.getValue().getScore()));
for (Map.Entry<String, Student> entry : sortedStudents) {
System.out.println(entry.getValue());
}
}
}
创建一个test类
package hashmap;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
TeachSystem system = new TeachSystem();
System.out.println("欢迎来到教学系统,请按下方提示继续操作");
messsage();
while (true){
int x=sc.nextInt();
if(x==1){
System.out.println("请输入学生的学号: ");
String id = sc.next();
System.out.println("请输入学生的姓名: ");
String name = sc.next();
System.out.println("请输入学生的得分: ");
double score = sc.nextDouble();
system.addStudent(id, name, score);
messsage();
}
if(x==2){
System.out.println("请输入要删除的学生的学号: ");
String id = sc.next();
String m =system.removeStudent(id);
if(m.equals("删除成功")){
System.out.println("删除成功");
}else
{System.out.println("该学生不存在");}
messsage();
}
if(x==3){
System.out.println("请输入要修改的学生的学号: ");
String id1 = sc.next();
String m =system.removeStudent(id1);
if(m.equals("删除成功")){
System.out.println("请输入修改后的学生的学号: ");
String id = sc.next();
System.out.println("请输入修改后的学生的姓名: ");
String name = sc.next();
System.out.println("请输入修改后的学生的得分: ");
double score = sc.nextDouble();
system.addStudent(id, name, score);}
else
{System.out.println("该学生不存在");}
messsage();
}
if(x==4){
System.out.println("请输入要查看的学生信息的学生的学号: ");
String id = sc.next();
System.out.print("您要查找的");
system.LookStudent(id);
messsage();
}
if(x==5){
system.Rank();
messsage();
}
if(x==6){System.out.println("退出成功");
break;
}
}
}
public static void messsage(){
System.out.println("1、增加学生信息 \n" +
"2、删除学生信息 \n" +
"3、修改学生信息 \n" +
"4、根据学号查看学生信息\n" +
"5、查看成绩排行榜 \n" +
"6、退出系统\n"+"请输入您要查找的内容前面的序号");
}
}
标签:String,System,教学系统,public,println,out,HashMap,id,在线
From: https://blog.csdn.net/2301_81937222/article/details/141228408