public class Main { public static void main(String[] args) { System.out.println("此题定义了一个数组,数组添加了若干个元素,每个元素可以理解一个运单,每张运单有三个元素,分别是运单号,货主和发票金额,现在要对这批运单进行分组合并开票,分组规则是同一货主才能被分到一组,一张票包含的最大运单数为2 。分好组后对每组运单的开票金额进行累加即为发票的开票金额 。 请写一段代码,在右边控制台打印出每张票的货主和开票金额,比如上海运钢/170 上海运钢/82 江苏运钢/170 江苏运钢/90 "); java.util.ArrayList<String> al = new java.util.ArrayList<>(); al.add("运单1/90"); al.add("运单号1/上海运钢/90"); al.add("运单号2/江苏运钢/90"); al.add("运单号3/上海运钢/80"); al.add("运单号4/上海运钢/82"); al.add("运单号5/江苏运钢/80"); al.add("运单号6/江苏运钢/80"); } }
时间: 2023-02-20 13:19:17 浏览: 90
javaSystem.out.println()输出byte[]、char[]异常的问题详析
public static void printGroup(ArrayList<String> al) {
HashMap<String, Integer> map = new HashMap<>();
for (String s : al) {
String[] arr = s.split("/");
String key = arr[1];
int value = Integer.parseInt(arr[2]);
if (map.containsKey(key)) {
map.put(key, map.get(key) + value);
} else {
map.put(key, value);
}
}
for (String key : map.keySet()) {
System.out.println(key + "/" + map.get(key));
}
}
阅读全文