本周学习重点内容,基础javaSE的最后一个有关集合的综合案例
import java.util.ArrayList; import java.util.Scanner; public class test1 { public static void main(String[] args) { ArrayList<student> sc = new ArrayList<>(); while (true) { System.out.println("欢迎进入程序!请输入您要进入的选项!"); Scanner in = new Scanner(System.in); System.out.println("1.添加学生"); System.out.println("2.删除学生"); System.out.println("3.修改学生"); System.out.println("4.查看学生"); System.out.println("5.退出程序"); int num = in.nextInt(); switch (num) { case 1: arrAdd(sc); break; case 2: arrRemove(sc); break; case 3: arrSet(sc); break; case 4: arrGet(sc); break; case 5: System.out.println("感谢您的使用"); System.exit(0); default: System.out.println("您输入的数字有错误,请重新输入"); break; } System.out.println("-----------------"); } }
//创建查看学生的方法 public static void arrGet(ArrayList<student> sc){ Scanner in=new Scanner(System.in); if(sc.size()!=0){ System.out.println("请输入您要查找的学生的编号!"); String id=in.next(); for (int i = 0; i < sc.size(); i++) { student stu=sc.get(i); if(stu.getId().equals(id)){ System.out.println(stu.getAge()+"----"+stu.getName()+"----"+stu.getId()+"----"+stu.getDate()); } } } else{ System.out.println("对不起,您的库存当中暂时没有任何的学生数据"); } }
//创建一个能够确定索引的方法,使用这个方法对于删除学生以及修改学生进行相应的修改 public static int Search(String id,ArrayList<student> sc){ Scanner in=new Scanner(System.in); int num=0; if(sc.size()!=0) { for (int i = 0; i < sc.size(); i++) { student stu = sc.get(i); if (stu.getId().equals(id)) { num = i; } return num; } } return -1; }
//创建删除学生的方法 public static void arrRemove(ArrayList<student> sc){ Scanner in=new Scanner(System.in); if(sc.size()!=0){ System.out.println("请输入您要删除的学生的编号"); String id=in.next(); int search = Search(id, sc); sc.remove(search); System.out.println("删除成功!"); } else{ System.out.println("您的库存当中暂时还没有学生,请先进行添加"); } }
//创建更改学生的方法 public static void arrSet(ArrayList<student> sc){ Scanner in=new Scanner(System.in); if(sc.size()!=0){ System.out.println("请输入您要更改的学生的编号!"); String id=in.next(); int search = Search(id, sc); System.out.println("请输入要更改的学生的姓名"); String name=in.next(); System.out.println("请输入年龄"); int age=in.nextInt(); System.out.println("请输入生日"); String date=in.next(); student stu=new student(name,age,date,id); sc.set(search,stu); System.out.println("更改成功!"); } else{ System.out.println("对不起,库存中没有数据!请先添加数据!"); } }
//创建添加学生的方法 public static ArrayList<student> arrAdd(ArrayList<student> sc){ Scanner in=new Scanner(System.in); System.out.println("请输入要添加学生的个数"); int cent=in.nextInt(); for (int i = 0; i < cent; i++) { System.out.println("请输入姓名"); String name=in.next(); System.out.println("请输入年龄"); int age=in.nextInt(); System.out.println("请输入生日"); String date=in.next(); System.out.println("请输入编号"); String id=in.next(); student stu=new student(name,age,date,id); sc.add(stu); } return sc; } }
其中比较关键的一步就是要联想到根据一个各个数据所独有的编码,来查询相应的集合,也就是要寻找相应编码的索引位置,根据这一个方法,来对于"删除" "更改学生"提供一个索引位置,数据,让集合跟随索引进行相应的步骤!(也就是demo当中的Search方法)
其他的方法都比较的简单,有一点需要注意的是,只有添加学生最后的集合需要进行返回,这样才能让原来的集合当中存在东西
tips:
除了之前学习的根据一个引 lo:来结束一个循环等等,现在也可以使用System.exit(num);
来结束程序,需要注意的是这种方法会停止所有的程序,直接到代码的最后!
over