根据题目要求生成大纲
总结:
1.在书写时,考虑到了书写时id可是是abc... 类型是String,但在根据id获取集合中元素时 list.get() ,get()里面是int类型。 2.在书写还有一点功能并不完全,
2.1查找时是打印所有学生信息,并不能根据输入关键信息打印相应学生
2.2修改时,是所有信息都要修改,并没有实现,只修改某一个或几个信息。
代码:
public class Studenttext {public static void main(String[] args) {ArrayList<Student> list=new ArrayList<>();Scanner sc=new Scanner(System.in);int number;boolean flag=true;while (flag) {System.out.println("请选择你要的功能:1.添加,2.删除,3.修改,4.查找,5.退出");number=sc.nextInt();switch (number){case 1 -> add(list);case 2->delete(list);case 3->adapt(list);case 4-> reaserach(list);default -> flag=false;}}}//添加public static void add( ArrayList<Student> list){Scanner sc=new Scanner(System.in);Student s=new Student();System.out.println("请输入学生id");String sid=sc.next();boolean result = contains(list, sid);if (result) {System.out.println("该id已经存在");}s.setId(sid);System.out.println("请输入学生姓名");String name=sc.next();s.setName(name);System.out.println("请输入学生年龄");int age=sc.nextInt();s.setage(age);System.out.println("请输入学生家庭住址");String adress=sc.next();s.setAdress(adress);list.add(s);System.out.println("已经添加成功");//进行id唯一}//删除public static void delete( ArrayList<Student> list){Scanner sc=new Scanner(System.in);System.out.println("请输入要删除的id");String sid=sc.next();int id=getindex(list,sid);if (id>=0) {//true就存在list.remove(id);System.out.println(list.size());System.out.println("删除成功");}else {//不存在System.out.println("id不存在");}}//修改public static void adapt( ArrayList<Student> list){Scanner sc=new Scanner(System.in);System.out.println("请输入要修改的id");String id=sc.next();int index=getindex(list,id);if (index>=0) {Student s=list.get(index);System.out.println("请输入新的名字");String Newname=sc.next();s.setName(Newname);System.out.println("请输入新的年龄");int Newage=sc.nextInt();s.setage(Newage);System.out.println("请输入新的家庭住址");String Newadress=sc.next();s.setAdress(Newadress);System.out.println("修改成功");}else {System.out.println(id+"不存在 ,更新失败");}}//查找public static void reaserach( ArrayList<Student> list){if (list.size()!=0) {//返回true就代表存在System.out.println("---------代军的学生管理系统------------");System.out.println("id\tname\tage\tadress");for (int i = 0; i < list.size(); i++) {Student s = list.get(i);System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getage()+"\t"+s.getAdress());}}else {//如果不存在,提示当前无学生信息,请添加后在查询System.out.println("当前无学生信息,请添加后在查询");}}//进行id唯一,不存在返回flasepublic static boolean contains(ArrayList<Student> list,String id){return getindex(list,id)>=0;}//查找id的学生,根据id查找//不存在返回-1public static int getindex(ArrayList<Student> list,String id){for (int i = 0; i < list.size(); i++) {String sut_id=list.get(i).getId();//存在就返回trueif (sut_id.equals(id)) {return i;}}return -1;}}