通过命令行的方式简单实现学生管理系统的逻辑,通过ArrayList对学生对象进行存储,支持空间的动态增长,最终实现学生信息的增删改查。
StudentManager.java
package com.project.test;
import com.project.domain.Student;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
public static void main(String[] args) {
ArrayList<Student> stuList = new ArrayList<>();
Scanner sc = new Scanner(System.in);
out:
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 退出");
System.out.print("请输入您的选择:");
String flag = sc.next(); //记录用户选择
switch (flag) {
case "1"://添加学生
addStudent(stuList);
break;
case "2"://删除学生
deleteStudent(stuList);
break;
case "3"://修改学生
updateStudent(stuList);
break;
case "4"://查看学生
queryStudent(stuList);
break;
case "5":
System.out.println("感谢您的使用!");
break out;
default:
System.out.println("您的输入有误!");
break;
}s
}
}
public static void addStudent(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入学号:");
while (true){
String stuId = sc.next();
int index = getIndex(list, stuId);
if (index == -1) {
System.out.print("请输入姓名:");
String name = sc.next();
System.out.print("请输入年龄:");
int age = sc.nextInt();
System.out.print("请输入生日:");
String birth = sc.next();
Student stu = new Student(stuId, name, age, birth);
list.add(stu);
System.out.println("添加成功!");
break;
} else {
System.out.println("您输入的学号已被占用,请重新输入!");
}
}
}
public static void deleteStudent(ArrayList<Student> list) {
if (list.size() > 0) {
System.out.println("请输入所要删除的学生Id:");
Scanner sc = new Scanner(System.in);
String s = sc.next();
int index = getIndex(list, s);
if (index == -1) {
System.out.println("该信息不存在,请重新输入!");
} else {
list.remove(index);
System.out.println("删除成功!");
}
}else{
System.out.println("无信息,请添加信息后再进行操作!");
}
}
public static void updateStudent(ArrayList<Student> list) {
if (list.size() > 0) {
System.out.println("请输入所要修改的学生Id:");
Scanner sc = new Scanner(System.in);
String s = sc.next();
int index = getIndex(list, s);
if (index == -1) {
System.out.println("该信息不存在,请重新输入!");
} else {
Student stu = list.get(index);
System.out.print("请输入新的姓名:");
String newName = sc.next();
stu.setName(newName);
System.out.print("请输入新的年龄:");
int newAge = sc.nextInt();
stu.setAge(newAge);
System.out.print("请输入新的生日:");
String newBirth = sc.next();
stu.setBirthday(newBirth);
System.out.println("修改成功!");
}
}else{
System.out.println("无信息,请添加信息后再进行操作!");
}
}
public static void queryStudent(ArrayList<Student> list) {
if (list.size() > 0) {
System.out.println("学号\t\t\t姓名\t\t\t年龄\t\t\t生日");
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
String stuID = stu.getStuId();
String name = stu.getName();
int age = stu.getAge();
String birth = stu.getBirthday();
System.out.println(stuID + "\t\t" + name + "\t\t" + age + "\t\t\t" + birth);
}
} else {
System.out.println("无信息,请添加信息后再进行操作!");
}
}
public static int getIndex(ArrayList<Student> list, String sId) {
int index = -1;
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
if (sId.equals(stu.getStuId())) {
index = i;
break;
}
}
return index;
}
}
Student.java
package com.project.domain;
public class Student {
private String stuId;
private String name;
private int age;
private String birthday;
public Student() {
}
public Student(String stuId, String name, int age, String birthday) {
this.stuId = stuId;
this.name = name;
this.age = age;
this.birthday = birthday;
}
public String getStuId() {
return stuId;
}
public void setStuId(String stuId) {
this.stuId = stuId;
}
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 getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}