复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.Set; public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()){ int n = in.nextInt(); if(n == 0) break; String key = null; Map<String,Integer> map = new HashMap<String,Integer>(); while(n-- > 0){ key = in.next(); if(map.containsKey(key) == false){ map.put(key, new Integer(1)); }else{ map.put(key, new Integer(map.get(key).intValue()+1)); } } int max = 0; String maxStr = null; for (String tmp : map.keySet()) { if(map.get(tmp).intValue() > max){ max = map.get(tmp).intValue(); maxStr = tmp; } } System.out.println(maxStr); } } }
通过这道题练习了一下Map的使用。
之前出现的错误:
将:
复制代码
1
2int n = in.nextInt(); if(n == 0) break;
复制代码
1写成
复制代码
1if(in.nextInt() == 0)break;
复制代码
1int n = in.nextInt();
复制代码
1报错。
问题应该是出在
in.nextInt() == 0的含义应该包含两层:一是当前接受的int类型的数不等于0;二是要接收下一个数;所以 此时需要2个int型的数才不会报错,显然与题意不符。
最后
以上就是糟糕大山最近收集整理的关于hdu 1004 java的全部内容,更多相关hdu内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复