需求:
代码实现:
public class Student {
private String id;
private String name;
private int age;
private 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 void setName(String name) {
this.name=name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age=age;
}
public int getAge() {
return age;
}
public void setId(String id) {
this.id=id;
}
public String getId() {
return id;
}
public void setAddress(String address) {
this.address=address;
}
public String getAddress() {
return address;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class Test_综合练习 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Student> list=new ArrayList<>();
loop: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:退出");
Scanner sc=new Scanner(System.in);
System.out.println("请输入您的选择:");
String choose=sc.next();
switch(choose) {
case "1":addStudent(list);break;
case "2":deleteStudent(list);break;
case "3":updateStudent(list);break;
case "4":queryStudent(list);break;
case "5":System.out.println("5:退出");break loop;
default:System.out.println("没有这个选项");
}
}
}
//增加功能
public static void addStudent(ArrayList<Student> list) {
Scanner sc=new Scanner(System.in);
//创建学生对象
Student s=new Student();
while(true) {
System.out.println("请输入学生的id:");
String id=sc.next();
boolean flag=contains(list,id);
if(flag) {
//表示id已经存在,需要重新输入
System.out.println("id已经存在,请重新输入");
}else {
s.setId(id);
break;
}
}
System.out.println("请输入学生的姓名:");
String name=sc.next();
s.setName(name);
System.out.println("请输入学生的年龄:");
int age=sc.nextInt();
s.setAge(age);
System.out.println("请输入学生的家庭住址:");
String address=sc.next();
s.setAddress(address);
//将学生对象添加到数组当中
list.add(s);
//提示一下用户信息添加成功
System.out.println("用户信息添加成功!");
}
//删除功能
public static void deleteStudent(ArrayList<Student> list) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除的学生id:");
String id=sc.next();
//查询id在集合中的索引
int index=getIndex(list,id);
if(index>=0) {
list.remove(index);
System.out.println("id为:"+id+"的学生删除成功");
}else {
System.out.println("id不存在,删除失败");
}
}
//修改功能
public static void updateStudent(ArrayList<Student> list) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入要修改学生的id:");
String id=sc.next();
int index=getIndex(list,id);
if(index==-1) {
System.out.println("要修改的id"+id+"不存在,请重新输入");
return;
}
Student stu=list.get(index);
//输入其他的新型修改
System.out.println("请输入要修改的姓名:");
String newName=sc.next();
stu.setName(newName);
System.out.println("请输入要修改的年龄:");
int newAge=sc.nextInt();
stu.setAge(newAge);
System.out.println("请输入要修改的家庭住址::");
String newAddress=sc.next();
stu.setAddress(newAddress);
System.out.println("学生信息修改成功!");
}
//查询功能
public static void queryStudent(ArrayList<Student> list) {
if(list.size()==0) {
System.out.println("当前无学生信息,请添加后在查询");
//结束方法
return;
}
System.out.println("id\t\t姓名\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\t"+stu.getAge()+"\t"+stu.getAddress());
}
}
public static boolean contains(ArrayList<Student> list,String id) {
for(int i=0;i<list.size();i++) {
Student stu=list.get(i);
if(stu.getId().equals(id)) {
return true;
}
}
return false;
}
public static int getIndex(ArrayList<Student> list,String id) {
for(int i=0;i<list.size();i++) {
Student stu=list.get(i);
if(stu.getId().equals(id)) {
return i;
}
}
return-1;
}
}