学生类:
package day0129;
//属性:id、姓名、年龄、家庭住址
public class Students {
private String id;
private String name;
private int age;
private String address;
public Students(){
}
public Students(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 String setId(String id) {
this.id = id;
return 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;
}
}
主要代码:
package day0129;
import java.util.ArrayList;
import java.util.Scanner;
/*#### 初始菜单:
"-------------欢迎来到黑马学生管理系统----------------"
"1:添加学生"
"2:删除学生"
"3:修改学生"
"4:查询学生"
"5:退出"
"请输入您的选择:"*/
public class xueshengxitong {
public static void main(String[] args) {
ArrayList<Students> list = new ArrayList<>();
while (true){
menu(list);
}
}
public static ArrayList<Students> menu(ArrayList<Students> list) {
Scanner sc = new Scanner(System.in);
System.out.println();
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.println("请输入要选择的项目数字");
int num = sc.nextInt();
ArrayList<Students> list1=choose(num, list);
return list1;
}
public static ArrayList<Students> choose(int num, ArrayList<Students> list) {
switch (num) {
case 1:
ArrayList<Students> list1 = addStudent(list);
return list1;
case 2:
ArrayList<Students> list2 = delelt(list);
return list2;
case 3:
ArrayList<Students> list3 = xuigai(list);
return list3;
case 4:
chaxun(list);
return list;
default:
System.out.println("退出");
System.exit(0);
}
return list;
}
/*
添加功能:
键盘录入每一个学生信息并添加,需要满足以下要求:
* id唯一
*/
public static ArrayList<Students> addStudent(ArrayList<Students> list) {
Scanner sc = new Scanner(System.in);
System.out.println("输入要添加学生的数量");
int num1 = sc.nextInt();
xunhuan:
for (int i = 0; i < num1; i++) {
int j = i + 1;
System.out.println("请输入第" + j + "个学生信息");
System.out.println("请输入id");
String id = sc.next();
panduanid(id, list);
if (panduanid(id, list) == false) {
System.out.println("请输入姓名");
String name = sc.next();
System.out.println("请输入年龄");
int age = sc.nextInt();
System.out.println("请输入地址");
String address = sc.next();
Students stu = new Students(id, name, age, address);
list.add(stu);
}
if (i == num1 - 1) {
break xunhuan;
}
}
return list;
}
//判断选项
public static boolean panduanid(String id, ArrayList<Students> list) {
for (int i = 0; i < list.size(); i++) {
if (id.equals(list.get(i).getId())) {
System.out.println("该id已经存在");
return true;
}
}
return false;
}
/*
#### 删除功能:
键盘录入要删除的学生id,需要满足以下要求:
* id存在删除
* id不存在,需要提示不存在,并回到初始菜单
*/
public static ArrayList<Students> delelt(ArrayList<Students> list) {
Scanner sc = new Scanner(System.in);
System.out.println("输入要删除的学生id");
String deleltid = sc.next();
if (panduanid(deleltid, list) == true) {
System.out.println("该学生存在");
int i = panduanxueshengxinxiweizi(list, deleltid);
Students list1 = list.remove(i);
System.out.println("删除学生的信息");
System.out.println(list1.getId() + " " + list1.getName() + list1.getAge() + list1.getAddress());
return list;
} else {
System.out.println("该学生不存在");
return list;
}
}
//判断学生在集合中的位置
public static int panduanxueshengxinxiweizi(ArrayList<Students> list, String id) {
for (int i = 0; i < list.size(); i++) {
if (id.equals(list.get(i).getId())) {
return i;
}
}
return -1;
}
/*
修改功能:
键盘录入要修改的学生id,需要满足以下要求
* id存在,继续录入其他信息
* id不存在,需要提示不存在,并回到初始菜单
*/
public static ArrayList<Students> xuigai(ArrayList<Students> list) {
Scanner sc = new Scanner(System.in);
System.out.println("输入要修改的id");
String id1 = sc.next();
int a=panduanxueshengxinxiweizi(list,id1);
Students stu=new Students();
System.out.println("输入修改后的id");
String id2 = sc.next();
stu.setId(id2);
System.out.println("输入姓名");
String name1 = sc.next();
stu.setName(name1);
System.out.println("输入年龄");
int age = sc.nextInt();
stu.setAge(age);
System.out.println("输入地址");
String address1 = sc.next();
stu.setAddress(address1);
boolean flag = panduanid(id1, list);
if (flag == true) {
Students st1=list.set(a,stu);
System.out.println("修改前的学生信息");
System.out.println("id"+st1.getId()+" 地址"+st1.getAddress()+"姓名"+st1.getName()+"年龄"+st1.getAge());
}
return list;
}
//#### 查询功能:
//
//打印所有的学生信息,需要满足以下要求
//
//* 如果没有学生信息,提示:当前无学生信息,请添加后再查询
//* 如果有学生信息,需要按照以下格式输出。(不用过于纠结对齐的问题)
public static void chaxun(ArrayList<Students> list){
System.out.println("查看学生信息");
for (int i = 0; i < list.size(); i++) {
System.out.println(" id :"+list.get(i).getId()+" 地址 :"+list.get(i).getAddress()+" 姓名 "+list.get(i).getName()+" 年龄 : "+list.get(i).getAge());
}
}
}