学生管理系统功能要求
写一个完整版学生管理系统
具有登陆功能
用户名以及密码为 admin
查询学生信息
修改学生信息
删除学生信息
功能实现模块
界面控制
package day20;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class StudentManage {
/*
* 写一个完整版学生管理系统
*
* 具有登陆功能,用户名为 admin 以及密码
*
* 查询学生信息
*
* 修改学生信息
*
* 删除学生信息
*
*/
static Map<Integer, Student> shm = new HashMap<>();// 定义一个map存储数据
static int i = 0; // 实现map添加数据后自增
static int j = 0; // 标志标号i
public static void main(String[] args) {
// 定义一个标志退出while循环
boolean flag = true;
while (flag) {
// Scanner scanner = new Scanner(System.in);
// // 输入数据
// String nextLine = scanner.nextLine();
// // 分割数据
// String[] split = nextLine.split(":");
System.out.println("请输入登录密码,格式为 : 用户名:密码");
String[] split = scanner(":");// 调用自定义的scanner()方法
// 验证数据
if (split.length == 2 && "m".equals(split[0]) && "m".equals(split[1])) {
// 登录成提示
System.out.println("登录成功~~~");
// 执行学生相关管理
/*
* add添加单个学生 , select查询单个学生, selectAll查询全部学生 , del删除单个学生,
* delAll删除全部学生, update修改单个学生, exit 退出。
*
*/
// 获取操作命令
boolean insideflag = true;
while (insideflag) {
Scanner scanner = new Scanner(System.in);
System.out.println("add添加单个学生 \t " + "select查询单个学生 \t" + "selectAll查询全部学生 \t" + "del删除单个学生 \t"
+ "delAll删除全部学生 \t" + "update修改单个学生 \t" + "exit 退出 \t");
String order = scanner.nextLine();
switch (order) {
case "add":
System.out.println("请输入添加学生的信息,格式为:学号-姓名-成绩");
String[] split2 = scanner("-");
if (split2.length == 3) {
// 增加学生
// Scanner scanner2 = new Scanner(System.in);
// String nextLine2 = scanner2.nextLine();
// String[] split2 = nextLine2.split("-");
add(Integer.parseInt(split2[0]), split2[1], Integer.parseInt(split2[2]));
System.out.println(i+1 + "位学生添加成功····");
i++;
break;
} else {
System.out.println("请输入正确的学生的信息,格式为:学号-姓名-成绩");
}
break;
case "select":
// 查询单个学生
System.out.println("请输入要查询学生的标号");
int scannerInfo = scannerInfo();
select(scannerInfo);
System.out.println("查询单个完成···");
break;
case "selectAll":
selectAll();
System.out.println("查询全部完成···");
break;
case "del":
selectAll();
System.out.println("请输入要删除学生的标号");
int scannerInfo2 = scannerInfo();
del(scannerInfo2);
break;
case "delAll":
delALL();
break;
case "update":
System.out.println("输入学生标号和修改姓名,格式是 : 标号-姓名");
String[] scanner2 = scanner("-");
if(scanner2.length == 2) {
selectAll();
update(Integer.parseInt(scanner2[0]), scanner2[1]);
System.out.println("修改成功");
}else {
System.out.println("请输入正确的标号和修改姓名格式是 : 标号-姓名");
break;
}
break;
case "exit":
flag = false;
insideflag = false;
System.out.println("退出成功···");
default:
break;
}
}
} else {
// 登录失败提示
System.out.println("登录失败,请重新输入~~~");
}
// 关闭输入流
// scanner.close();用不到已经关闭
}
}
// 学生信息输入流
public static String[] scanner(String str) {
// String str 传入分割字符串
Scanner scanner = new Scanner(System.in);
String nextLine = scanner.nextLine();
String[] split = nextLine.split(str);
return split;
}
// 获取命令操作信息
public static int scannerInfo() {
Scanner scanner = new Scanner(System.in);
String nextLine = scanner.nextLine();
int parseInt = Integer.parseInt(nextLine);
return parseInt;
}
// 添加学生
public static void add(int sid, String name, int score) {
Student student = new Student(sid, name, score);
shm.put(student.getId(), student); // 添加key和value = student
}
// 查询单个学生,查询对应的key或者value
public static void select(int key) {
Student stu = shm.get(key);
System.out.printf("学生学号是:%d,学生姓名是:%s,学生分数是:%d,", stu.getId(), stu.getName(), stu.getScore());
System.out.println("");
}
// 查询全部学生
public static void selectAll() {
for (Student stu : shm.values()) {
System.out.printf("学生学号是:%d,学生姓名是:%s,学生分数是:%d,", stu.getId(), stu.getName(), stu.getScore());
System.out.println("");
}
}
// 删除单个学生
public static void del(int key) {
System.out.println(shm.get(key).getName() + "已经被删除");
shm.remove(key);
}
// 删除全部学生
public static void delALL() {
shm.clear();
System.out.println("删除成功···");
}
// 修改单个学生的姓名
public static void update(int key, String name) {
System.out.println("修改前是:" + shm.get(key));
shm.get(key).setName(name);
System.out.println("修改后是:" + shm.get(key));
}
}
POJO类-student
package day20;
public class Student {
//属性
private int sid;
private String name;
private Integer score;
public int getId() {
return sid;
}
//属性的get和set方法
public void setId(int sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
//重写toString
@Override
public String toString() {
return "Student [id=" + sid + ", name=" + name + ", score=" + score + "]";
}
//三参构造方法
public Student(int sid, String name, int score) {
super();
this.sid = sid;
this.name = name;
this.score = score;
}
}