7-3 sdut-String-5 图书价格汇总(II)用Java写代码
时间: 2024-03-10 15:49:59 浏览: 206
以下是一个使用 Java 写的图书价格汇总程序,使用了 HashMap 和 DecimalFormat 类:
```java
import java.util.HashMap;
import java.text.DecimalFormat;
import java.util.Scanner;
public class BookPriceSum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
DecimalFormat df = new DecimalFormat("0.00");
HashMap<String, Double> map = new HashMap<String, Double>();
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
String name = sc.next();
double price = sc.nextDouble();
if (map.containsKey(name)) {
price += map.get(name);
}
map.put(name, price);
}
for (String name : map.keySet()) {
System.out.println(name + " " + df.format(map.get(name)));
}
}
}
```
程序首先读入图书的数量 n,然后使用一个 HashMap 来存储每种图书的价格总和。
接着循环读入每本图书的名称和价格,如果该图书已经存在于 map 中,则将该图书的价格加上之前已经存储的价格总和,最后将新的价格总和存储到 map 中。
最后遍历 map,输出每种图书的名称和价格总和。在输出价格时,使用 DecimalFormat 类来保留两位小数。
阅读全文