某商店想统计一下大内每个售出的商品名称和数量。用JAVA设计程序完成需求,展示每个售出的商品名称和数量。 要求:通过键盘录入水商品名称模拟售出的商品,录入一次表示商品售出一次,直到录入end结束。结束之后,将统计结果打印出来。 分析:调用HashMap中的containskey方法判断集合中包不包含输入的商品。如果返回false,证明map集合中没有输入的商品,直接将商品和1存储到集合。否则,证明集合中包含我们输入的商品,然后调用get方法根据键(商品)获取对应的值(数量) 给这个值加1,最后将输入的商品和值加1后的结果重新存到集合中。 操作步骤: 1.创建HashMap集合,以商品名做键,以售出数量做值 2.创建Scanner对象,键盘录入 3.一直输入商品,直到end结束 4.如果输入的是end,直接结束循环录入 5.判断商品是否已售出过,如果售出过,数量加1;如果没有,数量存为1 6.遍历查看结果
时间: 2024-03-01 20:50:44 浏览: 66
好的,根据你的要求,我已经理解了你的问题。下面是Java代码实现:
```
import java.util.HashMap;
import java.util.Scanner;
public class SalesRecord {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输入售出的商品名称:");
String name = scanner.next();
if (name.equals("end")) {
break;
}
if (map.containsKey(name)) {
int count = map.get(name);
map.put(name, count + 1);
} else {
map.put(name, 1);
}
}
System.out.println("售出商品名称和数量如下:");
for (String name : map.keySet()) {
System.out.println(name + ":" + map.get(name));
}
}
}
```
在这个程序中,我们使用了HashMap来存储售出商品的名称和数量。在循环中,我们通过Scanner读取控制台输入的商品名称,判断HashMap中是否已经存在该商品名称,如果存在,则将数量加1,否则将数量设置为1。最后,我们遍历HashMap,输出每个商品名称和对应的数量。
希望这个程序能够帮助你解决问题,如果还有其他问题,欢迎继续提问。
阅读全文