拯救初学者之开发项目如何正确运用ArrayList,while实现项目的循环和数据增删改查
Posted 头发没了也变强了
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拯救初学者之开发项目如何正确运用ArrayList,while实现项目的循环和数据增删改查相关的知识,希望对你有一定的参考价值。
首先开始一个项目时,我们应该先了解整个项目的架构,有什么需求需要我们去创建等等。然后就可以开始利用封装的方式,创建我们所要运用的方法了。
如:我们需要对工作人员进行增删改查。
1.首先可以创建一个人员的底层类,用来定义ID,姓名,年龄,工资等等:
然后构建无参和有参构造,创建get,set方法,以方便后面进行调用实现数据的获取和改写。
2.再创建一个方法类,用来存放功能实现需要运用的方法。
如:我先创造一个数组来调用刚刚我们所创建的底层类:
ArrayList<Employee> employees=new ArrayList<Employee>();
这里我们可以通过employees这个对象来对数据进行添加或者对数组里面的数据改写和获取。
(1)如实现添加的功能:
System.out.println("请输入需要添加的雇员的职位:"); System.out.println("1(无职位)"); Scanner jch=new Scanner(System.in); int a=jch.nextInt(); switch (a) case 1: System.out.println("职位分配为无"); System.out.println("请输入雇员姓名"); String c=jch.next(); System.out.println("请输入雇员年龄"); int d=jch.nextInt(); System.out.println("请输入雇员工资"); int e=jch.nextInt(); Employee f=new Employee(); f.setId(++count); f.setName(c); f.setAge(d); f.setSalary(e); employees.add(f); System.out.println("人员添加成功"); break;
(2)修改的功能:
boolean flag=false; Scanner scanner=new Scanner(System.in); System.out.println("请输入你要修改人的ID"); int id=scanner.nextInt(); for (int i=0;i<employees.size();i++) Employee employee1=employees.get(i); if (employees.get(i).getId()==id) System.out.println("输入你要修改的姓名"); String name=scanner.next(); System.out.println("输入你要修改的年龄"); int age=scanner.nextInt(); System.out.println("输入你要修改的工资"); double salary=scanner.nextInt(); employee1.setId(id); employee1.setName(name); employee1.setAge(age); employee1.setSalary(salary); employees.set(i,employee1); flag = true; break; if (flag) System.out.println("修改成功"); else throw new TeamException("没有这个员工,重新输入");
(3)删除的功能(这里注意我们可以通过ID删除,因为姓名可能相同但是ID一定会不同):
System.out.println("请输入你要删除信息的ID"); int id=scanner.nextInt(); for (int i=0;i<employees.size();i++) if (employees.get(i).getId()==id) employees.remove(i); for (i = id; i <= employees.size(); i++) employees.get(i - 1).setId(employees.get(i - 1).getId() - 1);
注意:删除后要修改你所删除ID后ID的号码,所以我们还需遍历修改一遍。
(4)查找的功能(就是对数组进行遍历):
for (int i=0;i<employees.size();i++) Employee s = employees.get(i); System.out.println(s);
注意:你们输出出来可能会输出地址值。要么对底层类的toString进行改写,改写成你想输出的样式,要么老老实实一个个get出来。如employees.get(i).getName;
如果后续你所添加的人员想要有不同的定义,无需在Employ类里面添加,可以运用继承创建一个新的底层类,继承上一级employ。
如:
如果是特别的功能还可以运用动态的方式进行改写,主要是增加代码的可复性和降低冗余性还有我们所运用的方便等等,合理运用即可。
3.如何实现循环里面再次循环,并且一个个退出或者直接退出。
boolean a=true;
while(a)
int b=scanner.nextInt();
switch(b)
case 1:
boolean a2=true;
while(a2)
int b2=scanner.nextInt();
switch(b2)
case 1:
a2=false;
break;
case 2:
break;
case 3:
break;
case 2:
break;
case 3:
a=false;
break;
通过设置一个对象为true的方式,在达到了你某种需求后,将对象变为false,就可以终止这个循环,回到上一级循环里。
总结:
ArrayList是我们会一直所运用到的;可以注意当我们要运用前面所保存的数据时,不要再new一个新的对象,里面是没有任何数据的,我们可以通过前面所创建的对象直接get出来。while循环这种方式注意代码的先后顺序,这样也会导致循环出错,还有赋值对象的注意,不要退出循环时赋值错误。
完成一个项目,我们首先应该明确整个项目的流程;清除我们需要构建哪些功能,需要先搭建哪些底层框架;再然后当功能完成后,我们再把他们一一串流起来,不要走一步看一步这种思想,会导致代码的冗余性增加,错误性也会增强,可能也会出现前后矛盾等等。第一次完成简单的项目都是迷茫的,相信以后多完成和运用,我们都会变成大佬!
以上是关于拯救初学者之开发项目如何正确运用ArrayList,while实现项目的循环和数据增删改查的主要内容,如果未能解决你的问题,请参考以下文章
Python爬虫之JSON和JSONPath是如何正确运用的?案例详解
Python爬虫之JSON和JSONPath是如何正确运用的?案例详解
Java小白入门200例105之Java ArrayList类