终于,幼儿园版的学生信息管理系统来了,尽管是幼儿园版的,已经不能再简单了,但依旧存在一些问题,真是不试试都不知道自己有多辣鸡
用ArrayList实现的
student类
public class Student {
private int age;
private String name;
private String id;
public Student(){}
public String getId() {
return id;
}
public int getAge() {
return age;
}
public String getName(){
return name;
}
public void setId(String id) {
this.id = id;
}
public void setAge(int age){
this.age=age;
}
public void setName(String name){
this.name=name;
}
}
测试类
import java.util.ArrayList;
import java.util.Scanner;
public class test18 {
public static void print() {
System.out.println("1:添加学生信息");
System.out.println("2:删除学生信息");
System.out.println("3:修改学生信息");
System.out.println("4:查询学生信息");
System.out.println("5:退出");
}
public static void add(ArrayList<Student> list) {
Student student = new Student();
System.out.println("请输入学号:");
Scanner sc1 = new Scanner(System.in);
String id = sc1.nextLine();
if(list.size()==0){
System.out.println("请输入名字:");
Scanner sc2 = new Scanner(System.in);
String name = sc2.nextLine();
System.out.println("请输入年龄:");
Scanner sc3 = new Scanner(System.in);
int age = sc3.nextInt();
student.setId(id);
student.setName(name);
student.setAge(age);
list.add(student);
System.out.println("添加成功!!!");
return;
}else{
for(int j=0;j<list.size();j++){
if(j!= list.size()-1 && list.get(j).getId().equals(id)){
System.out.println("学号已存在!!!");
}else if(j== list.size()-1 && !list.get(j).getId().equals(id)){
System.out.println("请输入名字:");
Scanner sc2 = new Scanner(System.in);
String name = sc2.nextLine();
System.out.println("请输入年龄:");
Scanner sc3 = new Scanner(System.in);
int age = sc3.nextInt();
student.setId(id);
student.setName(name);
student.setAge(age);
list.add(student);
System.out.println("添加成功!!!");
}
}
}
}
public static void delect(ArrayList<Student> list) {
System.out.println("请输入学号进行删除:");
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getId().equals(s)) {
list.remove(i);
System.out.println("删除成功!!!");
break;
}
if (i == list.size() - 1 && !list.get(i).getId().equals(s)) {
System.out.println("查无此人!!!");
}
}
}
public static void update(ArrayList<Student> list) {
System.out.println("请输入学号进行修改:");
Student student = new Student();
Scanner sc1 = new Scanner(System.in);
String s1 = sc1.nextLine();
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getId().equals(s1)) {
System.out.println("请输入新名字:");
Scanner sc2 = new Scanner(System.in);
String s2 = sc2.nextLine();
System.out.println("请输入新年龄:");
Scanner sc3 = new Scanner(System.in);
int s3 = sc3.nextInt();
student.setId(s1);
student.setName(s2);
student.setAge(s3);
list.set(i, student);
System.out.println("更新成功!!!");
break;
}
if (i == list.size() - 1 && !list.get(i).getId().equals(s1)) {
System.out.println("查无此人!!!");
}
}
}
public static void select(ArrayList<Student> list) {
System.out.println("请输入姓名查询:");
Scanner sc1 = new Scanner(System.in);
String s1 = sc1.nextLine();
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
if (stu.getName().contains(s1)) {
System.out.println("###############");
String str = "学号:" + list.get(i).getId() + "\n" + "姓名:" + list.get(i).getName() + "\n" + "年龄:" + list.get(i).getAge() + "\n";
System.out.println(str);
System.out.println("###############");
}else{
System.out.println("查无此人!!!");
}
}
}
public static void main(String[] args) {
System.out.println("学生信息管理系统");
ArrayList<Student> list = new ArrayList<Student>();
for (int x = 0; ; x++) {
print();
System.out.println("请输入操作:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
switch (i) {
case 1:
add(list);
break;
case 2:
delect(list);
break;
case 3:
update(list);
break;
case 4:
select(list);
break;
case 5:
return;
default:
System.out.println("输入错误!!!");
}
}
}
}
为了更简单一点,防止过于复杂,方便我找问题,有些情况我没有考虑进去,所以有很多不足,并且还有许多需要改进的地方,以我目前的水平,这已经还算可以了。