java 编程 从键盘每次读入一个字符,统计读入的字符有多少个数字,如果输入字符“Z”,退出程序 100
1个回答
2018-06-05 · 知道合伙人互联网行家
关注
展开全部
刚写的,绝对ok!源代码如下:import java.io.*;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.TreeMap;import java.util.Map.Entry;public class Test { public static void main(String args[]) { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s = null; System.out.println("请输入内容(输入exit退出):"); try { // 在键盘上写了一堆敲完了,咣当一敲回车,就读一行 s = br.readLine(); while (s != null) { // 一输入exit,就退出了 if (s.equalsIgnoreCase("exit")) { break; } /** * 下面代码用到了jdk1.5的新特性 注意你使用的jdk是否是1.5或以上版本 */ Map<Character, Integer> m = new TreeMap<Character, Integer>(); for (char word : s.toCharArray()) { Integer inte = m.get(word); m.put(word, (inte == null ? 1 : inte + 1)); } System.out.println("所有字符出现的次数一目了然: " + m); System.out.print("出现次数最多的字符是: "); Collection<Integer> c = m.values(); int num = Collections.max(c); for(Iterator<Entry<Character,Integer>> i = m.entrySet().iterator(); i.hasNext();) { Entry<Character,Integer> entry = i.next(); if (entry.getValue().equals(num)) { System.out.print(entry.getKey() + " "); } } System.out.println(); // 然后等待再次输入下一行 s = br.readLine(); } br.close(); } catch (IOException e) { e.printStackTrace(); } }}
追问
输入了 exit 不会退出
?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询