版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
public class caishuzi {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
HashMap<String, Integer> map = new HashMap<>();//用来存放名字和猜的数字
String key;
Integer value = null;
int sum = 0; //数总和
for(int i = 0;i<n;i++)
{
key = in.next();
value = in.nextInt();
map.put(key, value);
sum+=value;
}
int av = sum/n/2; //平均数的一半
Set<String> keySet = map.keySet();
String[] ss = new String[n]; //存放名字
int flag = 0;
for (String string : keySet) {
ss[flag] = string;
flag++;
}
int[] arr = new int[n]; //存放数字
int i = 0;
for (String string : keySet) {
arr[i] = map.get(string);
i++;
}
//遍历数组 做差并存到数组
for(int j = 0;j<n;j++)
{
arr[j] = (int) Math.abs(arr[j]-av);
}
//遍历数组 查找最小值 获取索引
//根据索引 数组名字
flag = 0;
int min = arr[0];
for(int j = 1;j<n;j++)
{
if(arr[j] < min)
{
min = arr[j];
flag = j;
}
}
System.out.println(av);
System.out.println(ss[flag]);
}
}