拯救初学者之开发项目如何正确运用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循环这种方式注意代码的先后顺序,这样也会导致循环出错,还有赋值对象的注意,不要退出循环时赋值错误。

        完成一个项目,我们首先应该明确整个项目的流程;清除我们需要构建哪些功能,需要先搭建哪些底层框架;再然后当功能完成后,我们再把他们一一串流起来,不要走一步看一步这种思想,会导致代码的冗余性增加,错误性也会增强,可能也会出现前后矛盾等等。第一次完成简单的项目都是迷茫的,相信以后多完成和运用,我们都会变成大佬!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>