看到这样一道笔试题,顺手做一下并记录、
以下代码可直接复制使用
package com.company;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();//先把输入的个数存起来,以便后面判断
int[] c = new int[n];//最多就有这么多组键值
for (int i = 0; i < n; i++) {
c[i] = 0;
}
int i = 0;
while (scan.hasNext()) {//如果有输入
String d = scan.nextLine();
if (!d.equals("")) {//当输入不为空时才进行以下操作
String[] b1;
b1 = d.split(" ");//将输入切割
if (c[Integer.parseInt(b1[0])] == 0)//第一次出现该键值
c[Integer.parseInt(b1[0])] = Integer.parseInt(b1[1]);
else
c[Integer.parseInt(b1[0])] = c[Integer.parseInt(b1[0])] + Integer.parseInt(b1[1]);
i++;
if(i>=n)
break;
}
}
for (int j = 0; j < n; j++) {
if (c[j] != 0) {//不为0时才输出
System.out.println(j + " " + c[j]);
}
}
}
}
运行结果