java编程:控制台输入一个字符串,要求按照字符出现的次数排序,排序时去掉重复字符!

木有人....有做完的我加悬赏100... 木有人....
有做完的我加悬赏100
展开
 我来答
至尊z馒头
2011-05-11 · TA获得超过114个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:105万
展开全部
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;

public class Test{
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String cnt = s.nextLine();
ArrayList<Character> array = new ArrayList<Character>();
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
//--------这里是计算字符出现次数并记录↓----------
for (int i = 0; i < cnt.length(); i++) {
char tmp = cnt.charAt(i);
if(map.containsKey(tmp)){
int num = map.get(tmp);
num++;
map.put(tmp, num);
}else{
map.put(tmp, 1);
array.add(tmp);
}
}
//-----下面就是个冒泡--------
for (int i = 0; i < array.size(); i++) {
for (int j = 0; j < array.size()-1-i; j++) {
if(map.get(array.get(j))>map.get(array.get(j+1))){
char tmp = array.get(j);
array.set(j, array.get(j+1));
array.set(j+1, tmp);
}
}
}
System.out.println(map);//这个就是打印字符出现的次数
System.out.println(array);//这个打印排序后的数组,从小到大
}
}
huobaoqilin
2011-05-11
知道答主
回答量:12
采纳率:0%
帮助的人:12.7万
展开全部
等等,正在写……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式