java小程序求解。。 长为10000的字符串,由a-z及A-Z组成,统计出其中出现频率最高的字母 求解 最好用java 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 小弟不才只能用 简单而且笨重的方法结局希望可以帮到你String take="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";//事先定义从a~z,A~Z的字符串变量String str="";//你输入的字符串变量String get="";int show=0'//输出次数用的for (int i = 0; i <take.length(); i++) { get=take.substring(i, i+1); for (int j = 0; j < str.length(); j++) { if(str.substring(j, j+1).equals(get)){ show++; } } System.out.println(get+"的出现次数是"+show); show=0;}因为本人也是菜鸟一个,所以想法不出别的方法。只能每次用a~Z其中的一个 去跟你输入的字符串每一个进行比较,然后对每个字母的出现率分别进行求和。接下来看你自己了 String str="abcaccbba"; Set<Character> set=new HashSet<Character>(); Map<Character, Integer> map=new HashMap<Character, Integer>(); int length=str.length(),max=0; for(int i=0;i<length;i++){ set.add(str.charAt(i)); } System.out.println(set); for(char c:set){ int tmp=0; for(int i=0;i<length;i++){ if(str.charAt(i)==c){ tmp++; } } if(tmp>=max){ max=tmp; tmp=0; map.put(c, max); } } System.out.println(map); System.out.println(max);仅供参考,我只是打印了map,没有去遍历,你可以遍历一下map就可以了,这样就可以把出现频率最高的字母打印出来 String str="你需要的字符串"; String moreChar=null; int moreNum=0; while(!"".equals(str)){ String c=str.substring(0,1); String tempStr=str.replace(c,""); int charNum=str.length()-tempStr.length(); if(moreNum<charNum){ moreNum=charNum; moreChar=c; } str=tempStr; } System.out.println(moreChar+" : "+moreNum); 爬虫 数据库 网址 配置过滤器 ,用户未登录, 取不到传过来的用户 select选中问题 网页中的“展开”“合并”文件夹的功能是怎么做的?就是那种点+号就合并,点-号就展开的效果 在spring 框架中, 如何解决刷新提交的问题 请问高手,有关Tomcat问题.. JAVA EXCEL 怎么实现读取一个EXCEL文件,然后修改指定行、列的数据???在线等!急急急!!!! 如何通过plsqldev查询共享数据库中的表 是不是jdbc驱动的问题啊? 請各位大俠說說,關于javaBean的功能,和他的用途????? Struts 的一些问题 核心标签提问
String take="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";//事先定义从a~z,A~Z的字符串变量
String str="";//你输入的字符串变量
String get="";
int show=0'//输出次数用的
for (int i = 0; i <take.length(); i++) {
get=take.substring(i, i+1);
for (int j = 0; j < str.length(); j++) {
if(str.substring(j, j+1).equals(get)){
show++;
}
}
System.out.println(get+"的出现次数是"+show);
show=0;
}
因为本人也是菜鸟一个,所以想法不出别的方法。只能每次用a~Z其中的一个 去跟你输入的字符串每一个进行比较,然后对每个字母的出现率分别进行求和。
接下来看你自己了
String str="abcaccbba";
Set<Character> set=new HashSet<Character>();
Map<Character, Integer> map=new HashMap<Character, Integer>();
int length=str.length(),max=0;
for(int i=0;i<length;i++){
set.add(str.charAt(i));
}
System.out.println(set);
for(char c:set){
int tmp=0;
for(int i=0;i<length;i++){
if(str.charAt(i)==c){
tmp++;
}
}
if(tmp>=max){
max=tmp;
tmp=0;
map.put(c, max);
}
}
System.out.println(map);
System.out.println(max);仅供参考,我只是打印了map,没有去遍历,你可以遍历一下map就可以了,这样就可以把出现频率最高的字母打印出来
String str="你需要的字符串";
String moreChar=null;
int moreNum=0;
while(!"".equals(str)){
String c=str.substring(0,1);
String tempStr=str.replace(c,"");
int charNum=str.length()-tempStr.length();
if(moreNum<charNum){
moreNum=charNum;
moreChar=c;
}
str=tempStr;
}
System.out.println(moreChar+" : "+moreNum);