学生信息管理系统
1、类StudentManager
java.lang.Object
com.csorcle.练习.StudentManager
public class StudentManager extends java.lang.Object
2、嵌套类概要
嵌套类 | |
---|---|
限定符和类型 | 类和说明 |
static class | StudentManager.Student |
3、构造器概要
构造器 |
---|
构造器和说明 |
StudentManager() |
4、方法概要
所有方法 | 实例方法 | 具体方法 |
---|---|---|
void | add()增加学生信息 | |
void | change()按学号修改学生信息 | |
void | check()按学号查询学生信息 | |
void | checkAll()查询所有学生信息 | |
void | delete()按学号删除学生信息 | |
void | doFunction(int i)功能列表 |
5、从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
6、构造器详细资料
StudentManager
public StudentManager()
7、实现类StudentManager
import java.util.*;
public class StudentManager {
/*HashMap存储学生信息*/
private HashMap<Integer, Student> studentMap = new HashMap<>();
private static final Scanner scanner = new Scanner(System.in);
/*功能列表*/
public void doFunction(int i) {
switch (i) {
case 1:
add();
break;
case 2:
change();
break;
case 3:
delete();
break;
case 4:
check();
break;
case 5:
System.out.println("所有学生信息:");
checkAll();
break;
case 6:
System.out.println("退出系统成功!");
System.exit(1);//结束虚拟机运行
}
}
/*查询所有学生信息*/
public void checkAll() {
if (studentMap.isEmpty()) {
System.out.println("亲,您还没有添加学生信息呢!");
} else {
Set<Map.Entry<Integer, Student>> checkAll = studentMap.entrySet();
/*使用迭代器打印所有学生信息*/
Iterator<Map.Entry<Integer, Student>> iterator = checkAll.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
/*增加学生信息*/
public void add() {
System.out.println("请输入您需要添加的学生信息");
System.out.println("请输入学号:");
int stdNo = scanner.nextInt();
if (studentMap.containsKey(stdNo)) { //调用containsKey()方法,判断map表中是否已包含key(学号)值与stdNo值相等的学号
System.out.println("该学号已存在!");
} else {
System.out.println("请输入姓名:");
String name = scanner.next();
System.out.println("请输入性别:");
char sex = scanner.next().charAt(0);
System.out.println("请输入年龄:");
int age = scanner.nextInt();
Student student = new Student(name, stdNo, sex, age);
/*调用put()方法添加学生信息到map表中*/
studentMap.put(stdNo, student);
System.out.println("学生信息添加成功!!!");
}
}
/*按学号修改学生信息*/
public void change() {
System.out.println("请输入学号,然后修改您的信息");
int stdNo = scanner.nextInt();
if (!studentMap.containsKey(stdNo)) { //调用containsKey()方法,判断map表中是否已包含key(学号)值与stdNo值相等的学号
System.out.println("您输入的学号不存在!!!");
} else {
System.out.println("待修改信息的学生:" + studentMap.get(stdNo));
System.out.println("您想把姓名修改为:");
String name = scanner.next();
System.out.println("您想把性别修改为:");
char sex = scanner.next().charAt(0);
System.out.println("您想把年龄修改为:");
int age = scanner.nextInt();
Student student = new Student(name, stdNo, sex, age);
/*在map表中修改&覆盖key值为stdNo的学生信息*/
studentMap.put(stdNo, student);
System.out.println("修改结果:");
System.out.println(studentMap);
}
}
/*按学号删除学生信息*/
public void delete() {
System.out.println("请输入学号,然后进行删除信息");
int stdNo = scanner.nextInt();
if (!studentMap.containsKey(stdNo)) { //调用containsKey()方法,判断map表中是否已包含key(学号)值与stdNo值相等的学号
System.out.println("您输入的学号不存在!!!");
} else {
/*调用remove()移除map表中的key值为stdNo学生信息*/
studentMap.remove(stdNo);
System.out.println("已成功删除");
System.out.println("删除后结果为:" + studentMap);
}
}
/*按学号查询学生信息*/
public void check() {
System.out.println("请输入学号,然后查询学生信息");
int stdNo = scanner.nextInt();
if (!studentMap.containsKey(stdNo)) { //调用containsKey()方法,判断map表中是否已包含key(学号)值与stdNo值相等的学号
System.out.println("您输入的学号不存在!!!");
} else {
System.out.println("查询结果:");
/*通过get()方法获取map表中的key值为stdNo的学生信息*/
System.out.println(studentMap.get(stdNo));
}
}
public static class Student {
/*定义学生的属性*/
private String name; //姓名
private Integer stdNo; //学号
private Character sex; //性别
private Integer age; //年龄
public Student(String name, Integer stdNo, Character sex, Integer age) {
this.name = name;
this.stdNo = stdNo;
this.sex = sex;
this.age = age;
}
/*重写toString()方法定义打印的格式*/
@Override
public String toString() {
return "学生{" +
"姓名:‘" + name + ‘\‘‘ +
", 学号:" + stdNo +
", 性别:" + sex +
", 年龄:" + age +
‘}‘;
}
}
}
8、Main方法
import java.util.*;
public class Demo01 {
public static void main(String[] args) {
StudentManager student = new StudentManager();
/* 循环使用系统功能*/
while (true) {
System.out.println("《《《《《《《《《《《《《《《《《《《《《<欢迎来到学生信息管理系统>》》》》》》》》》》》》》》》》》》》》》");
System.out.println(" ------系统功能------");
System.out.println("1:添加信息 2:按照学号修改信息 3:按照学号删除信息 4:按照学号查询信息 5:查询所有学生信息 6:退出系统");
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
student.doFunction(i);
}
}
}
9、运行结果截图
①:添加学生信息
②:按照学号修改学生信息
③:按照学号删除信息
④:按照学号查询信息
⑤:查询所有学生信息
⑥:退出系统