java 编程 从键盘每次读入一个字符,统计读入的字符有多少个数字,如果输入字符“Z”,退出程序 100

 我来答
DoramiHe
2018-06-05 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59541
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
刚写的,绝对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 不会退出
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式