HashMap

来源:互联网 发布:十大网络主播评选结果 编辑:程序博客网 时间:2024/06/05 20:53

hdu 题目链接 点击打开链接

统计元音

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 71893    Accepted Submission(s): 28513


Problem Description
统计每个元音字母在字符串中出现的次数。
 

Input
输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串。
 

Output
对于每个测试实例输出5行,格式如下:
a:num1
e:num2
i:num3
o:num4
u:num5
多个测试实例之间由一个空行隔开。

请特别注意:最后一块输出后面没有空行:)
 

Sample Input
2aeioumy name is ignatius
 

Sample Output
a:1e:1i:1o:1u:1a:2e:1i:3o:0u:1
 
import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.StringTokenizer;public class Main {public static void main(String[] args){new Task().solve();}}class Task{InputReader in = new InputReader(System.in) ;      PrintWriter out = new PrintWriter(System.out) ;          Map<Character, Integer> gao(char[] s){    Map<Character, Integer> m = new HashMap<Character, Integer>() ;        for(char c : s){        if(! m.containsKey(c)){        m.put(new Character(c), 1) ;        }        else {        m.put(new Character(c), 1 + m.get(new Character(c))) ;        }        }    return m ;    }         void solve(){int n = in.nextInt() ;while(n-- > 0){String s = in.nextLine() ;char[ ]  c = s.toCharArray() ;Map<Character , Integer> mm = gao(c) ; int a ,e , i , o , u ;if(!mm.containsKey('a')){a = 0 ;}else{a = mm.get('a') ;}if(!mm.containsKey('e')){e = 0 ;}else{e = mm.get('e') ;}if(!mm.containsKey('i')){i = 0 ;}else{i = mm.get('i') ;} if(!mm.containsKey('o')){ o = 0 ; }else{ o = mm.get('o') ; } if(!mm.containsKey('u')){ u = 0  ; }else{ u = mm.get('u'); } out.println("a:" + a); out.println("e:" + e); out.println("i:" + i); out.println("o:" + o); out.println("u:" + u); if(n != 0){ out.println(); }}out.flush() ;}}class InputReader {      public BufferedReader reader;      public StringTokenizer tokenizer;        public InputReader(InputStream stream) {          reader = new BufferedReader(new InputStreamReader(stream), 32768);          tokenizer = new StringTokenizer("");      }        private void eat(String s) {          tokenizer = new StringTokenizer(s);      }        public String nextLine() {          try {              return reader.readLine();          } catch (Exception e) {              return null;          }      }        public boolean hasNext() {          while (!tokenizer.hasMoreTokens()) {              String s = nextLine();              if (s == null)                  return false;              eat(s);          }          return true;      }        public String next() {          hasNext();          return tokenizer.nextToken();      }        public int nextInt() {          return Integer.parseInt(next());      }        public long nextLong() {          return Long.parseLong(next());      }        public double nextDouble() {          return Double.parseDouble(next());      }        public BigInteger nextBigInteger() {          return new BigInteger(next());      }    }  



原创粉丝点击