A. 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());
B. java怎么实现统计一个字符串中字符出现的次数
可以用String的indexof(str,fromindex)方法,循环遍历加一个计数器统计次数。
publicclassCountTimes{
publicstaticvoidmain(String[]args){
Stringstr="Intheentireworldthere'";
inttimes=searchstr("my",str);//返回2
System.out.println(times);
}
publicstaticintsearchstr(Stringkey,Stringstr){
intindex=0;//每次的搜索到的下标
intcount=0;//计数器
while((index=str.indexOf(key,index))!=-1){
index=index+key.length();
count++;
}
returncount;
}
}
C. java中如何统计某个字母在一个字符串中出现了多少次啊
1、根据length获取字符串长度
Strings="abcdedfae";//定义一个字符串
intlen=s.length();//获取原来的字符串长度
2、通过replaceAll方式,把字符串中该字母替换成空
Strings1=s.replaceAll(要统计的字母,"");
3、获取替换后的字符串长度
intlen2=s1.length();
4、原来的字符串长度减去替换后的字符串长度就是该字母出现的次数
intlenTimes=len1-len2;//出现的次数
D. java中Scanner键盘输入一个字符串 要求计算出每个字符出现的次数
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
/*
* (1)利用键盘录入,输入一个字符串
(2)统计该字符串中各个字符的数量
*/
public class InputString {
public static void main(String[] args) {
//获取键盘输入的字符串
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串!");
String st=sc.nextLine();
//将字符串存分解成每个字符,存到数组中
char [] ch=st.toCharArray();
//创建map的集合,存储字符和出现的次数,其中将字符作为键值
Map<Character,Integer> map=new HashMap<Character,Integer>();
//使用循环,将数组ch中的元素遍历出来,并用计数器计算出现的次数
for(char c:ch) {
//判断字符c是否存在集合中,存在的话,更新map中的元素对(因为map中的元素是唯一的)
if(map.containsKey(c)) {
Integer count=map.get(c);
count=count+1;
map.put(c, count);
//如果不存在,将字符和出现的次数(1次),存到集合中
}else {
map.put(c, 1);
}
}
//用增强for循环,输出字符的出现次数
for(char key:map.keySet()) {
System.out.println(key+"的出现次数是"+map.get(key));
}
}
}
===================================
运行后的结果如下:
E. Java程序如何统计某字符在该字符串中出现的次数思路是什么
思路:
先输入字符串与想要统计的字符,然后遍历字符串的每一个字符,进行统计。
代码:
import java.text.ParseException;
import java.util.Scanner;
class DemoAsm{
public static void main(String[] args) throws ParseException {
Scanner sc =new Scanner(System.in);
//输入字符串
String str=sc.nextLine();
//输入字符
String str1=sc.nextLine();
//遍历字符串
int sum=0;
for(int i=0;i<str.length();i++){
if(str.substring(i, i+1).equals(str1)){
sum++;//统计
}
}
System.out.println(str1+"出现了"+sum+"次");
}
}
F. java怎么实现统计一个字符串中字符出现的次数
import java.util.*;
public class Test {
public static void main(String args[]){
String s = "abcdad"; //待测试的字符串
Map<Character, Integer> result = getCharMaps(s);
System.out.println(result);//打印出字符串中各字符出现的次数!
}
public static Map<Character, Integer> getCharMaps(String s) {
Map<Character, Integer> map = new HashMap<Character, Integer>();
for(int i = 0; i < s.length(); i++) {
Character c = s.charAt(i);
Integer count = map.get(c);
map.put(c, count == null ? 1 : count + 1);
}
return map;
}
}
G. 用java编写一个函数,统计一个字符串中每个字母出现的次数,谢谢啦
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程序的,其实我这个不用分析的话应该是这个问题的最简解了吧。。。。***/