## 学生管理系统
### 需求:
采取控制台的方式去书写学生管理系统。
### 分析:
#### 初始菜单:
-------------学生管理系统----------------
1:添加学生
2:删除学生
3:修改学生
4:查询学生
5:退出
请输入您的选择:
#### 学生类:
属性:id、姓名、年龄、家庭住址
#### 添加功能:
键盘录入每一个学生信息并添加,需要满足以下要求:
* id唯一
#### 删除功能:
键盘录入要删除的学生id,需要满足以下要求:
* id存在删除
* id不存在,需要提示不存在,并回到初始菜单
#### 修改功能:
键盘录入要修改的学生id,需要满足以下要求:
* id存在,继续录入其他信息
* id不存在,需要提示不存在,并回到初始菜单
#### 查询功能:
打印所有的学生信息,需要满足以下要求
* 如果没有学生信息,提示:当前无学生信息,请添加后再查询
* 如果有学生信息,需要按照以下格式输出。(不用过于纠结对齐的问题)
id 姓名 年龄 家庭住址
001 张三 23 北京
002 李四 24 上海
003 王五 25 广州
004 赵六 26 深圳
学生类 javabeen 的创建
public class Student {
private String id;
private String name;
private int age;
private String address;
public Student() {
}
public Student(String id, String name, int age, String address) {
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
main方法
import java.util.ArrayList;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>();
while (true) {
System.out.println("----------学生管理系统----------");
System.out.println("1.添加学生信息");
System.out.println("2.删除学生信息");
System.out.println("3.修改学生信息");
System.out.println("4.查询所有学生信息");
System.out.println("5.退出系统");
Scanner sc = new Scanner(System.in);
System.out.println("请输入您需要的业务:");
String select = sc.next();
switch (select) {
case "1":
addStudent(list);
break;
case "2":
removeStudent(list);
break;
case "3":
updateStudent(list);
break;
case "4":
selectStudents(list);
break;
case "5":
System.out.println("正在退出!");
System.exit(0);
default:
System.out.println("没有该业务!");
break;
}
}
}
public static void addStudent(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入录入学生的ID:");
String id = sc.next();
boolean flag = judgeExist(list, id);
if (flag) {
System.out.println("该ID已经存在!");
return;
}
System.out.println("请输入录入学生的姓名:");
String name = sc.next();
System.out.println("请输入录入学生的年龄:");
int age = sc.nextInt();
System.out.println("请输入录入学生的居住地址:");
String address = sc.next();
Student s = new Student(id, name, age, address);
list.add(s);
System.out.println("添加成功!");
}
public static void removeStudent(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的学生的ID:");
String id = sc.next();
int index = getIndex(list, id);
if (index < 0) {
System.out.println("ID不存在!删除失败!");
return;
} else {
list.remove(index);
System.out.println("删除成功!");
}
}
public static void updateStudent(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要修改的学生的ID:");
String id = sc.next();
int index = getIndex(list, id);
if (index < 0) {
System.out.println("ID不存在!修改失败!");
return;
} else {
System.out.println("请输入修改的ID:");
String newId = sc.next();
System.out.println("请输入修改的名字:");
String name = sc.next();
System.out.println("请输入修改的年龄:");
int age = sc.nextInt();
System.out.println("请输入修改的居住地址:");
String address = sc.next();
Student s = new Student(newId, name, age, address);
list.set(index, s);
System.out.println("修改成功!");
}
}
public static void selectStudents(ArrayList<Student> list) {
if (list.size() == 0) {
System.out.println("当前无学生信息,请添加后再查询!");
return;
} else {
System.out.println("ID\t\t姓名\t年龄\t居住地址");
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
System.out.println(s.getId() + "\t" + s.getName() + "\t" + s.getAge() + "\t" + s.getAddress());
}
}
}
public static boolean judgeExist(ArrayList<Student> list, String id) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getId().equals(id)) {
return true;
}
}
return false;
}
public static int getIndex(ArrayList<Student> list, String id) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getId().equals(id)) {
return i;
}
}
return -1;
}
}
运行效果
1、进入
2、业务一
添加
重复
3、业务二
删除
id不存在
4、业务三
修改
id不存在
5、业务四
查询
数据为空
6、退出