学生管理系统
需求:
采取控制台的方式去书写学生管理系统。
分析:
初始菜单:
"-------------欢迎来到黑马学生管理系统----------------"
"1:添加学生"
"2:删除学生"
"3:修改学生"
"4:查询学生"
"5:退出"
"请输入您的选择:"
学生类:
属性:id、姓名、年龄、家庭住址
添加功能:
键盘录入每一个学生信息并添加,需要满足以下要求:
- id唯一
删除功能:
键盘录入要删除的学生id,需要满足以下要求:
- id存在删除
- id不存在,需要提示不存在,并回到初始菜单
修改功能:
键盘录入要修改的学生id,需要满足以下要求
- id存在,继续录入其他信息
- id不存在,需要提示不存在,并回到初始菜单
查询功能:
打印所有的学生信息,需要满足以下要求
- 如果没有学生信息,提示:当前无学生信息,请添加后再查询
- 如果有学生信息,需要按照以下格式输出。(不用过于纠结对齐的问题)
id 姓名 年龄 家庭住址
heima001 张三 23 南京
heima002 李四 24 北京
heima003 王五 25 广州
heima004 赵六 26 深圳
完整代码
JavaBean——学生类
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;
}
/**
* 获取
* @return id
*/
public String getId() {
return id;
}
/**
* 设置
* @param id
*/
public void setId(String id) {
this.id = id;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return age
*/
public int getAge() {
return age;
}
/**
* 设置
* @param age
*/
public void setAge(int age) {
this.age = age;
}
/**
* 获取
* @return address
*/
public String getAddress() {
return address;
}
/**
* 设置
* @param address
*/
public void setAddress(String address) {
this.address = address;
}
}
java
import java.util.ArrayList;
import java.util.Scanner;
public class StudentSystem {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//定义对象列表
ArrayList<Student> lt = new ArrayList<>();
System.out.println("-----------欢迎来到黑马学生管理系统-----------");
while (true) {
System.out.println("1:添加学生");
System.out.println("2:删除学生");
System.out.println("3:修改学生");
System.out.println("4:查询学生");
System.out.println("5:退出");
System.out.println("请输入您的选择:");
String chose = sc.next();
switch (chose) {
case "1": {
addStudent(lt);
break;
}
case "2": {
delStudent(lt);
break;
}
case "3": {
updateStudent(lt);
break;
}
case "4": {
queryStudent(lt);
break;
}
case "5": {
System.out.println("退出");
System.exit(0);
}
default: {
System.out.println("没有该选项,请从新输入");
}
}
}
}
//添加学生
public static void addStudent(ArrayList<Student> lt) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入该学生id");
Student newStudent = new Student();
while (true) {
String id = sc.next();
newStudent.setId(id);
if (search(lt, id) != -1) {
System.out.println("该学生已存在,请重新输入id!");
} else if (search(lt, id) == -1) {
newStudent.setId(id);
break;
}
}
System.out.println("请输入该学生姓名");
String name = sc.next();
newStudent.setName(name);
System.out.println("请输入该学生年龄");
int age = sc.nextInt();
newStudent.setAge(age);
System.out.println("请输入该学生住址");
String address = sc.next();
newStudent.setAddress(address);
lt.add(newStudent);
System.out.println("添加完毕");
}
//删除
public static void delStudent(ArrayList<Student> lt) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要删除学生的id");
String delID = sc.next();
if (search(lt, delID) == -1) {
System.out.println("该学生不存在");
} else {
int index = search(lt, delID);
lt.remove(index);
System.out.println("删除成功");
}
}
//修改
public static void updateStudent(ArrayList<Student> lt) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要修改学生的id");
String updateID = sc.next();
if (search(lt, updateID) == -1) {
System.out.println("该学生不存在");
} else {
Student newStudent = lt.get(search(lt, updateID));
System.out.println("请输入该学生的id");
String id = sc.next();
newStudent.setId(id);
System.out.println("请输入该学生姓名");
String name = sc.next();
newStudent.setName(name);
System.out.println("请输入该学生年龄");
int age = sc.nextInt();
newStudent.setAge(age);
System.out.println("请输入该学生住址");
String address = sc.next();
newStudent.setAddress(address);
System.out.println("修改完成");
}
}
//查询
public static void queryStudent(ArrayList<Student> lt) {
if (lt.size() == 0) {
System.out.println("当前无学生信息,请添加后查询");
} else {
System.out.println("id\t\tname\t\tage\t\taddress");
for (int i = 0; i < lt.size(); i++) {
Student t = lt.get(i);
System.out.println(t.getId() + "\t"+ "\t" + t.getName() + "\t" + "\t" + t.getAge() + "\t" + "\t" + t.getAddress());
}
}
}
//根据id搜索学生是否存在
public static int search(ArrayList<Student> lt, String id) {
for (int i = 0; i < lt.size(); i++) {
Student t = lt.get(i);
if (t.getId().equals(id)) {
//返回id索引
return i;
}
}
//id不存在
return -1;
}
}