java - 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的类型并对值求和 代码不返回任何内容。相反,它一次又一次地循环进行字符扫描****谢谢。
解决方案
那部分
System.out.println("Enter type of worker[M/m][W/w][O/o] for finish enter [F/f]:");
type = s.nextLine();
需要进入你的循环!
当您希望用户多次输入值时,只获取一次他的输入是没有帮助的!
推荐阅读
- nuxt.js - 如何在 nuxt.config 中调用 post API generate()
- ruby-on-rails - 我应该使用 Web Sockets 吗?
- python - 根据拆分后拆分的字符串中的元素过滤行(熊猫)
- javascript - React 测试库 + Jest:如何测试接收数字的组件然后对其进行格式化
- python - 如何从 MongoDB 数组中检索第一个和最后一个元素并将其设置为不同的字段?
- android - 如何从主机设备访问在 android 模拟器中创建的 localhost web http 服务器
- javascript - 从 nodejs 运行 rails 控制台命令
- python - pybind11 嵌入运行异步请求
- powershell - MBR2GPT Powershell 脚本预验证检查
- python - “dict”对象没有属性“material_ids”