用java编写一个函数,统计一个字符串中每个字母出现的次数,谢谢啦

import java.util.Set;import java.util.TreeMap;/ 需求 :"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)分析:A:定义一个字符串(可以改进为键盘录入)B:定义一个TreeMap集合 键:Character 值:Integer C:把字符串转换为字符数组 D:遍历字符数组,得到...
用java编写一个函数,统计一个字符串中每个字母出现的次数,谢谢啦
这是一个典型的java面试题

String str ="2342asfghgyu56asdasda";
Map<String,Integer> maps = new HashMap<String,Integer>();
for(int i=0;i<str.length();i++){
String key = String.valueOf((str.charAt(i)));
if(!maps.containsKey(key))
maps.put(key, 1);
else{
int val =maps.get(key);
maps.put(key, val+1);
}

}

for(Map.Entry i : maps.entrySet()){
System.out.println(i.getKey()+ "=="+i.getValue());
}2015-01-30
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;
/*
* 需求 :"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
*
* 分析:
* A:定义一个字符串(可以改进为键盘录入)
* B:定义一个TreeMap集合
* 键:Character
* 值:Integer
* C:把字符串转换为字符数组
* D:遍历字符数组,得到每一个字符
* E:拿刚才得到的字符作为键到集合中去找值,看返回值
* 是null:说明该键不存在,就把该字符作为键,1作为值存储
* 不是null:说明该键存在,就把值加1,然后重写存储该键和值
* F:定义字符串缓冲区变量
* G:遍历集合,得到键和值,进行按照要求拼接
* H:把字符串缓冲区转换为字符串输出
*
* 录入:linqingxia
* 结果:result:a(1)g(1)i(3)l(1)n(2)q(1)x(1)
*/
public class TreeMapDemo {
public static void main(String[] args) {
// 定义一个字符串(可以改进为键盘录入)
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String line = sc.nextLine();
// 定义一个TreeMap集合
TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
//把字符串转换为字符数组
char[] chs = line.toCharArray();
//遍历字符数组,得到每一个字符
for(char ch : chs){
//拿刚才得到的字符作为键到集合中去找值,看返回值
Integer i = tm.get(ch);
//是null:说明该键不存在,就把该字符作为键,1作为值存储
if(i == null){
tm.put(ch, 1);
}else {
//不是null:说明该键存在,就把值加1,然后重写存储该键和值
i++;
tm.put(ch,i);
}
}
//定义字符串缓冲区变量
StringBuilder sb= new StringBuilder();
//遍历集合,得到键和值,进行按照要求拼接
Set<Character> set = tm.keySet();
for(Character key : set){
Integer value = tm.get(key);
sb.append(key).append("(").append(value).append(")");
}
//把字符串缓冲区转换为字符串输出
String result = sb.toString();
System.out.println("result:"+result);
}
}
/***不懂里面的的一些方法的可以找本书看看Map集合方面的,还有学会查API,否则你一辈子都读不懂JAVA程序的,其实我这个不用分析的话应该是这个问题的最简解了吧。。。。***/2018-11-14
String str = "123eeerfdfr5656$%";HashMap<Character,Integer> hm = new HashMap<Character, Integer>();char[] arr = str.toCharArray();for (char c : arr) { hm.put(c, hm.containsKey(c) ? hm.get(c) + 1 : 1);}System.out.println(hm);2019-03-12
for(int i=0;i<s.length();i++){
char ss=s.charAt(i);
}
然后用写出所有字母 如 int a=0;int b=0; 如果一样就a++
最后输出
太麻烦我就不写了2015-01-30
mengvlog 阅读 46 次 更新于 2025-09-09 05:36:43 我来答关注问题0
  •  余不二smile 用JAVA编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素个数并返回.

    /import java.util.Scanner;public class Array { public static void main(String[] args){ int i;int n;int avg; //平均数 int sum=0; //所有数字之和 Scanner scanner = new Scanner(System.in);System.out.println("请输入你要处理的数字的个数:");n = scanner.nextInt();int[] a...

  •  文暄生活科普 Java8 Stream 一行代码实现数据分组统计、排序、最大值、最小值、平均值、总数、合计

    要统计用户status的值,如最大值、最小值、求和和平均值,你可以使用Collectors类的groupingBy()和counting()方法,如:java Map statusStats = users.stream().collect(Collectors.groupingBy(User::getStatus, Collectors.counting()));这将返回一个Map,键为status值,值为该status出现的次数。对于部门...

  •  深空见闻 编写脚本,统计日志文件app.log中error级别的行数

    统计日志文件app.log中error级别的行数,可以使用Python或Java编写脚本来实现。Python实现方法核心思路:通过Python脚本打开日志文件,逐行读取内容,并检查每行是否包含“error”字符串(不区分大小写),从而统计出包含“error”的行数。实现步骤:定义一个函数count_errors_in_file,该函数接受一个文件路径...

  •  百度网友06fd97b 写个java程序求一个数的绝对值

    在Java中可以使用Math.abs()方法来方便的进行绝对值计算,例如 class test { public static void main(String[] args) { System.out.println(Math.abs(-8));} } 当然如果自己写的话也非常的简单,可以这样做:public Integer abs(Integer a){return a>0?a:-a;} 当输入的是正数的时候直接返回...

  •  Jseven_jy 用JAVA语言设计一个类,统计一篇英文文章的词频,并按照词频由高到低输出。修改下面代码就行了。

    import java.util.Iterator;import java.util.List;import java.util.Set;import java.util.TreeSet;public class Article { //保存文章的内容 String content;//保存分割后的单词集合 String[] rawWords;//保存统计后的单词集合 String[] words;//保存单词对应的词频 int[] wordFreqs;//构造函数,...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部