public static void main(String[] args) {
ArrayList<Student> list = new ArrayList();
Scanner sc = new Scanner(System.in);
lo:
while (true) {
System.out.println("~~~~~~~~欢迎来到学生管理系统~~~~~~~~");
System.out.println("1.添加学生\t" + "\t2.删除学生");
System.out.println("3.修改学生\t" + "\t4.查看所有学生");
System.out.println("5.按姓名查看学生"+"\t6.退出");
System.out.println("请输入需要操作功能的序号:");
String index = sc.next();
switch (index) {
case "1":
//添加学生
addStudent(list);
break;
case "2":
//删除学生
deleteStudent(list);
break;
case "3":
//修改学生
updateStudent(list);
break;
case "4":
//查看所有学生
queryStudents(list);
break;
case "5":
//按姓名查看学生
nameQueryStudent(list);
break;
case "6":
//退出系统
break lo;
default:
System.out.println("您输入的序号有误,请检查后重试!");
break;
}
}
}
//按姓名查看学生信息
private static void nameQueryStudent(ArrayList<Student> list) {
if (list.size() == 0) {
System.out.println("无信息,请添加后重新查询");
return;
}
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.next();
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
if(stu.getName().equals(name)){
System.out.println(stu.getId() + "\t" + stu.getName() + "\t" +
stu.getAge() + "岁" + "\t" + stu.getPlace());
}else{
System.out.println("查无此人!");
return;
}
}
}
//查看所有学生信息
private static void queryStudents(ArrayList<Student> list) {
if (list.size() == 0) {
System.out.println("无信息,请添加后重新查询");
return;
}
System.out.println("学号\t姓名\t年龄\t居住地");
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println(stu.getId() + "\t" + stu.getName() + "\t" +
stu.getAge() + "岁" + "\t" + stu.getPlace());
}
}
//修改学生信息
private static void updateStudent(ArrayList<Student> list) {
if (list.size() == 0) {
System.out.println("无信息,请添加后修改");
return;
}
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号:");
String id = sc.next();
int index = getIndex(list, id);
if(index==-1){
System.out.println("该学号不存在!");
}else{
System.out.println("请输入学生姓名:");
String name = sc.next();
System.out.println("请输入学生年龄:");
int age = sc.nextInt();
System.out.println("请输入学生居住地:");
String place = sc.next();
Student stu =new Student(id,name,age,place);
list.set(index,stu);
System.out.println("修改成功");
}
}
//删除学生信息
private static void deleteStudent(ArrayList<Student> list) {
if (list.size() == 0) {
System.out.println("无信息,请添加后删除");
return;
}
Scanner sc = new Scanner(System.in);
String id;
while (true) {
System.out.println("请输入学号:");
id = sc.next();
int index = getIndex(list, id);
if (index == -1) {
System.out.println("该学号不存在!");
} else {
list.remove(index);
System.out.println("删除成功");
break;
}
}
}
//添加学生
private static void addStudent(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);
String id;
while (true) {
System.out.println("请输入学号:");
id = sc.next();
int index = getIndex(list, id);
if (index == -1) {
break;
}
}
System.out.println("请输入学生姓名:");
String name = sc.next();
System.out.println("请输入学生年龄:");
int age = sc.nextInt();
System.out.println("请输入学生居住地:");
String place = sc.next();
Student stu = new Student(id, name, age, place);
list.add(stu);
System.out.println("添加成功");
}
/***
* getIndex : 接收一个集合对象,接收一个学生学号
*
* 查找这个学号,在集合中出现的索引位置
*/
private static int getIndex(ArrayList<Student> list, String id) {
int index = -1;
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
if (stu.getId().equals(id)) {
index = i;
}
}
return index;
}
public class Student {
private String id;
private String name;
private int age;
private String place;
public Student() {
}
public Student(String id, String name, int age, String place) {
this.id = id;
this.name = name;
this.age = age;
this.place = place;
}
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPlace() {
return place;
}
public void setPlace(String place) {
this.place = place;
}
}