系统首页:用于显示系统所有操作,并根据控制台的输入选择需要的功能。
查询功能:用户选择该功能后在控制台打印学生信息。
添加功能:用户选择该功能之后。录入学生信息(学号、姓名、年龄、地址),学号占用添加失败。
删除功能:用户选择该功能进入指定学号删除,学号存在删除成功,不存在删除失败。
修改功能:修改指定学号的信息。
退出系统
目录结构介绍:
/**
* @authr Cat00011cat
* java作业 学生管理系统 集合 实现对学生信息的增删改查
*/
package top.thecat;
public class Main {
public static void main(String[] args) {
/***
* 学生管理系统
* 1、首页
* 显示功能菜单,用户输入数字进行对应的功能下边。
* 2、查询
* 子菜单:查询全部信息,查询指定用户信息。
* 3、添加
* 控制台输入 存储 学号、姓名、年龄、居住地址信息。
* 学号唯一,如果存在则输出添加失败,否则添加成功。
* 4、删除
* 根据输入的学号删除信息,如果学号不存在则输出删除失败 ,否则删除成功。
* 5、修改
* 通过输入的学号 修改该学生的学生信息
* 如果学号不存在 则提示该学生不存在修改失败.
* 6、退出系统
* 用户选择该功能 结束程序
*
*
* 数据存储结构:
* id 学号
* name 姓名
* age 年龄
* address 地址
*/
System.out.println("starting...");
Main main = new Main();
main.start();
}
/***
* 主页控制
*/
public void start() {
// 创建首页
Home home = new Home();
// 创建首页选项校验类
Check check = new Check();
// 创建业务控制对象
Service service = new Service();
while (true) {
home.HomePage(); // 输出首页选项
int item = check.menuItemCheck(1, 5);
switch (item) {
case 1:
// 添加学生信息首页入口控制
service.addStudenInfo();
break;
case 2:
// 查询学生信息首页入口控制
service.searchStudenInfo();
break;
case 3:
// 修改学生信息入口控制
service.editStudenInfo();
break;
case 4:
// 删除学生信息入口控制
service.deleteStudenInfo();
break;
case 5:
// 退出系统
System.out.println("恭喜您!安全退出系统");
System.exit(0);
}
}
}
}
package top.thecat;
public class Home {
// 首页
public void HomePage() {
String img = " ____ _ _ _ ____ _ ___ ___ ___ _ _ _ \n" +
"/ ___|| |_ _ _ __| | ___ _ __ | |_ / ___|__ _| |_ / _ \\ / _ \\ / _ \\/ / | ___ __ _| |_ \n" +
"\\___ \\| __| | | |/ _` |/ _ \\ '_ \\| __|____| | / _` | __| | | | | | | | | | | |/ __/ _` | __|\n" +
" ___) | |_| |_| | (_| | __/ | | | ||_____| |__| (_| | |_| |_| | |_| | |_| | | | (_| (_| | |_ \n" +
"|____/ \\__|\\__,_|\\__,_|\\___|_| |_|\\__| \\____\\__,_|\\__|\\___/ \\___/ \\___/|_|_|\\___\\__,_|\\__|\n" +
" ";
System.out.println(img);
// System.out.println("************学生信息管理系统*************");
System.out.println("****************************************");
System.out.println("** 1 添加学生信息 **");
System.out.println("** 2 查找学生信息 **");
System.out.println("** 3 修改学生信息 **");
System.out.println("** 4 删除学生信息 **");
System.out.println("** 5 退出学生管理系统 **");
System.out.println("****************************************");
}
// 添加
public void addPage() {
System.out.println("*************************");
System.out.println("** 1 添加学生信息 **");
System.out.println("** 2 返回首页 **");
System.out.println("*************************");
}
// 查询
public void searchPage() {
System.out.println("*************************");
System.out.println("** 1 按学号查找学生 **");
System.out.println("** 2 查看全部学生信息 **");
System.out.println("** 3 返回首页 **");
System.out.println("*************************");
}
// 修改
public void editPage() {
System.out.println("*************************");
System.out.println("** 1 查看全部学生信息 **");
System.out.println("** 2 修改指定学号的学生信息 **");
System.out.println("** 3 返回首页 **");
System.out.println("*************************");
}
// 删除
public void deletePage() {
System.out.println("*************************");
System.out.println("** 提示:学号不允许修改 **");
System.out.println("** 1 删除指定学号的学生信息 **");
System.out.println("** 2 删除全部记录 **");
System.out.println("** 3 返回首页 **");
System.out.println("*************************");
}
}
package top.thecat;
/**
* 学生实体类
*/
public class Student {
private String id; // 学号
private String name; // 姓名
private String age; // 年龄
private String address; // 地址
// 无参构造器
public Student() {
}
//有参构造器
public Student(String id, String name, String age, String address) {
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
//get set 方法
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 String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
// 重写tostring方法
@Override
public String toString() {
// System.out.println("录入的学生信息如下所示: ");
StringBuffer stringBuffer = new StringBuffer();// 创建字符缓存区对象
stringBuffer.append("学号: ").append(this.id).append(" ").append("\t");
stringBuffer.append("姓名: ").append(this.name).append(" ").append("\t");
stringBuffer.append("年龄: ").append(this.age).append(" ").append("\t");
stringBuffer.append("地址: ").append(this.address).append(" ").append("\t");
return stringBuffer.toString();
}
}
package top.thecat;
import java.util.Scanner;
/**
* 数据校验类
*/
public class Check {
public int menuItemCheck(int min, int max) {
//操作选项正则表达式
String regex = "[1-9]{1}";
//创建键盘输入对象
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作选项,最小:" + min + "\t" + "最大:" + max);
String input = scanner.nextLine();
if (input.matches(regex)) {
int inputNum = Integer.parseInt(input);
if (inputNum >= min && inputNum <= max) {
return inputNum;
} else {
System.out.println("没有您输入的操作选项,请重新输入!");
}
} else {
System.out.println("请睁大眼睛看清除要求您输入的操作选项,pass掉");
}
}
}
}
package top.thecat;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 业务逻辑类
*/
public class Service {
// 创建泛型list接口
private List<Student> list;
public Service() {
this.list = new ArrayList<>(); //集合
}
/**
* 添加学生信息业务逻辑控制
*/
public void addStudenInfo() {
System.out.println("学生信息初始化");
// 系统初始化自带的学生数据。。。。懒得自己去添加数据了,,,疯掉,,,就算不录入 也有学生数据
Student studentInfo1 = new Student("100001", "Cat00011cat", "18", "中国");
Student studentInfo2 = new Student("100002", "白菜", "18", "中国");
Student studentInfo3 = new Student("100003", "张三", "20", "中国");
Student studentInfo4 = new Student("100004", "张四", "17", "中国");
Student studentInfo5 = new Student("100005", "张五", "21", "中国");
Student studentInfo6 = new Student("100007", "张六", "23", "中国");
Student studentInfo7 = new Student("100008", "张七", "18", "中国");
Student studentInfo8 = new Student("100009", "张八", "22", "中国");
Student studentInfo9 = new Student("100010", "张张", "18", "中国");
this.list.add(studentInfo1);
this.list.add(studentInfo2);
this.list.add(studentInfo3);
this.list.add(studentInfo4);
this.list.add(studentInfo5);
this.list.add(studentInfo6);
this.list.add(studentInfo7);
this.list.add(studentInfo8);
this.list.add(studentInfo9);
// 数据格式不做check了,,,懒得搞了
Scanner scanner = new Scanner(System.in);
String id = scanner.nextLine();
String name = scanner.nextLine();
String age = scanner.nextLine();
String address = scanner.nextLine();
Student student = new Student(id, name, age, address); // 创建 具体的某一个学生
this.list.add(student); // 将学生添加到list集合当中
System.out.println(student.toString());
}
/**
* 查询学生信息业务逻辑控制
*/
public void searchStudenInfo() {
System.out.println("请输入您需要查找学生的学号:");
Scanner scanner = new Scanner(System.in);
String id = scanner.nextLine();
if (!id.isEmpty()) {
// 按照指定学号查找
// System.out.println(this.list);
Boolean flag = true; // 假设系统存在 找到了词学生
for (int i = 0; i < this.list.size(); i++) {
if (id.equals(this.list.get(i).getId())) {
System.out.println("查找成功 ===> " + this.list.get(i));
flag = false;
}
}
if (flag) {
System.out.println("学生不存在,查找失败!!!");
}
} else {
// 不输入学号默认查询全部信息
if (this.list.size() == 0) {
System.out.println("没有任何学生信息 请录入后重试!!!");
return;
}
for (int i = 0; i < this.list.size(); i++) {
System.out.println(this.list.get(i));
}
}
}
/**
* 修改学生信息业务逻辑控制
*/
public void editStudenInfo() {
System.out.println("请输入您需要修改学生的学号:");
Scanner scanner = new Scanner(System.in);
String id = scanner.nextLine();
if (!id.isEmpty()) {
// 找到该学生
Boolean flag = true; // 假设系统存在 找到了词学生
for (int i = 0; i < this.list.size(); i++) {
if (id.equals(this.list.get(i).getId())) {
System.out.println("提示:学号不支持修改, 允许修改 姓名 年龄 地址");
System.out.println();
String name = scanner.nextLine();
String age = scanner.nextLine();
String address = scanner.nextLine();
this.list.get(i).setName(name);
this.list.get(i).setAge(age);
this.list.get(i).setAddress(address);
System.out.println("修改成功 ===> " + this.list.get(i));
flag = false;
}
}
if (flag) {
System.out.println("学生不存在,修改失败!!!");
}
} else {
System.out.println("请输入学号后重试!!!");
}
}
/**
* 删除学生信息业务逻辑控制
*/
public void deleteStudenInfo() {
// 删除全部信息 就不写了,,,懒得写..删除掉了 又要自己添加疯掉了....
// 删除指定学号的学生信息 就行了。
System.out.println("请输入您需要删除学生的学号:");
Scanner scanner = new Scanner(System.in);
String id = scanner.nextLine();
if (!id.isEmpty()) {
Boolean flag = true; // 假设系统存在 找到了词学生
for (int i = 0; i < this.list.size(); i++) {
if (id.equals(this.list.get(i).getId())) {
System.out.println(this.list.get(i));
// 直接remove
// this.list.remove(i);
System.out.println("删除成功 ===> " + this.list.remove(i));
flag = false;
}
}
if (flag) {
System.out.println("学生不存在,删除失败!!!");
}
} else {
System.out.println("请输入学号后再试!!!");
}
}
}
运行指令:java -jar .\studentCrud.jar
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。