package DAY4.学生管理系统简单;
import java.util.ArrayList;
import java.util.Scanner;
public class UI {
public static void main(String[] args) {
ArrayList<Student> arr1 = new ArrayList<>();
UI(arr1);
}
//ui界面
public static void UI(ArrayList<Student> al) {
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("请输入您的选择:");
int a = sc.nextInt();
Page(a,al);
}
//页面跳转功能
public static void Page(int a, ArrayList<Student> al) {
switch (a) {
case 1:
add(al);
break;
case 2:
delete(al);
break;
case 3:
change(al);
break;
case 4:
find(al);
break;
case 5:
back(al);
break;
}
}
//添加功能
public static void add(ArrayList<Student> al) {
Student demo=new Student();
Scanner sc = new Scanner(System.in);
System.out.println("请依次输入学生信息");
//判断是否id重复
while(true){
System.out.print("请输入学生 id :");
String a = sc.next();
boolean temp = ID(a,al);
if (!temp) {
demo.setId(a);
break;
} else {
System.out.println("id重复,请重新输入");
}
}
System.out.println();
System.out.print("请输入学生姓名:");
demo.setName(sc.next());
System.out.println();
System.out.print("请输入学生年龄:");
demo.setAge(sc.nextInt());
System.out.println();
System.out.print("请输入学生家庭地址:");
demo.setAddress(sc.next());
System.out.println("添加成功,学生信息为:");
System.out.println(demo.toString());
al.add(demo);
UI(al);
}
//判断id是否存在
public static boolean ID(String id, ArrayList<Student> arr) {
for (int i = 0; i < arr.size(); i++) {
Student stu=arr.get(i);
String demo=stu.getId();
if (demo.equals(id)) {
return true;
}
}
return false;
}
//获取索引
public static int getIndex(ArrayList<Student> al,String id){
boolean flag=ID(id,al);
if(flag){
for (int i = 0; i < al.size(); i++) {
// Student stu=al.get(i);
// String sid=stu.getId();
if(id.equals(al.get(i).getId())){
return i;
}
}
}
return -1;
}
// 删除功能
public static void delete(ArrayList<Student> al) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的id");
String temp = sc.nextLine();
boolean a = ID(temp, al);
if (!a) {
System.out.println("id不存在,将返回初始菜单");
UI(al);
} else {
int index=getIndex(al,temp);
al.remove(index);
System.out.println("删除成功");
UI(al);
}
}
// 返回初始菜单功能
private static void back(ArrayList<Student> al) {
UI(al);
}
// 修改功能
public static void change(ArrayList<Student> al) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入修改的id");
String a = sc.next();
boolean temp = ID(a, al);
if (temp) {
int index=getIndex(al,a);
System.out.print("请输入学生姓名:");
String name = sc.next();
System.out.println();
System.out.print("请输入学生年龄:");
int age = sc.nextInt();
System.out.println();
System.out.print("请输入学生家庭地址:");
String address = sc.next();
al.get(index).setName(name);
al.get(index).setAddress(address);
al.get(index).setAge(age);
System.out.println(al.get(index).toString());
} else {
System.out.println("id不存在,将返回初始菜单");
UI(al);
}
}
//查询功能
public static void find(ArrayList<Student> al){
if(al.size()==0){
System.out.println("查询失败");
UI(al);
}
for (int i = 0; i < al.size(); i++) {
Student stu=al.get(i);
System.out.println(stu.toString());
UI(al);
}
}
public class Student {
public String id;
public String name;
public int age;
public 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 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 getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "学生信息为:" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", address='" + address + '\'' ;
}
}
根据要求逐步写即可,主要难点在于化整体为小结