首页 > 解决方案 > java中ArrayList中相同类型的方法求和值

问题描述

//我写的方法有3种worker:Manager、Owner和Worker

public static int costByType() {
        ArrayList<Worker> workers = new ArrayList<>();
        String type;
        int cost = 0;
        System.out.println("Enter type of worker[M/m][W/w][O/o] for finish enter [F/f]:");
        type = s.nextLine();
        while(!type.equalsIgnoreCase("F")) {
            for (Worker w : workers) {
                if (type.equalsIgnoreCase("M")) {
                    cost += ((Manager) w).getSalary() + ((Manager) w).getBonus();
                } else if (type.equalsIgnoreCase("W")) {
                    cost += ((Worker) w).getSalary();
                } else if (type.equalsIgnoreCase("O")) {
                    cost += ((Owner) w).getSalary() + ((Owner) w).getBonus() +Owner.BASE;
                }
            }

        }

        return cost;    

    }

//while循环运行数组列表并找到worker的类型并对值求和 代码不返回任何内容。相反,它一次又一次地循环进行字符扫描****谢谢。

标签: javaeclipse

解决方案


那部分

System.out.println("Enter type of worker[M/m][W/w][O/o] for finish enter [F/f]:");
type = s.nextLine();

需要进入你的循环!

当您希望用户多次输入值时,只获取一次他的输入是没有帮助的!


推荐阅读