导航:首页 > 编程语言 > java中字符出现的次数

java中字符出现的次数

发布时间:2023-10-04 22:45:26

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;

}

}

② java中如何统计某个字母在一个字符串中出现了多少次啊

1、根据length获取字自符串长度

Strings="abcdedfae";//定义一个字符串
intlen=s.length();//获取原来的字符串长度

2、通过replaceAll方式,把字符串中该字母替换成空

Strings1=s.replaceAll(要统计的字母,"");

3、获取替换后的字符串长度

intlen2=s1.length();

4、原来的字符串长度减去替换后的字符串长度就是该字母出现的次数

intlenTimes=len1-len2;//出现的次数

③ 用java,统计txt文件中每个文字或者字母出现的次数,并由大到小排列,并显示每个文字或者字母出现的次数

importjava.io.*;
importjava.util.*;
/**题目:用java,统计文件中每个文字或者字母出现的次数,并由大到小排列,
并显示每个文字或者字母出现的次数
思路:
1.定义字符读取(缓冲)流
2.循环读取文件里的字符,用一个String类型变量接收(newValue)
3.把newValue变成字符数组 char[]ch=newValue.toCharArray();
4.遍历ch将ch中所有的字符存入一个Map集合中(TreeSet),键对应字符,值对应字符出现的次数
5.遍历打印map集合中的键和值,也就是字符出现的次数
**/
publicclassT06{
publicstaticvoidmain(String[]args){
demo(newFile("d:\io.txt"));
}
publicstaticvoiddemo(Filefile){
BufferedReaderbfr=null; //定义字符读取(缓冲)流
try{
bfr=newBufferedReader(newFileReader(file));//给该流赋值
Stringvalue=null; //定义一个临时接收文件中的字符串变量
StringnewValue=""; //接收文件中所有字符串的变量
while((value=bfr.readLine())!=null){ //开始读取文件中的字符
newValue=newValue+value; //存入newValue变量中
}
char[]ch=newValue.toCharArray();//把newValue变成字符数组
TreeMap<Character,Integer>tm=newTreeMap<Character,Integer>(Collections.reverseOrder());/*定义一个TreeMap(因为TreeMap是有序的,存入的键值都有自然比较顺序功能,默认的是从小到大顺序,所有这里传了一个反转的比较器),键对应字符,值对应字符出现的次数**/
for(intx=0;x<ch.length;x++){ //遍历ch将ch中所有的字符存入一个Map集合中(TreeSet),键对应字符,值对应字符出现的次数
charc=ch[x];
if(tm.containsKey(c)){ //如果TreeMap(tm)中有该键,则取出该键中的值,也就是出现的次数
intconut=tm.get(c);
tm.put(c,conut+1); //存入把新值存入tm集合中,如果键相同的话,新键会替换老键,值也随着变化了
}
else{
tm.put(c,1); //如果没有出现该键就说明是第一次出现,然后就存入1次
}
}
//下面的是取出TreeMap(tm)中的键和值
Set<Map.Entry<Character,Integer>>set=tm.entrySet();
Iterator<Map.Entry<Character,Integer>>iter=set.iterator();
while(iter.hasNext()){
Map.Entry<Character,Integer>map=iter.next();
chark=map.getKey();
intv=map.getValue();
System.out.print(k+"("+v+")");
}
}
catch(IOExceptione){
System.out.println("文件读取错误");
}
finally{
try{
if(bfr!=null)
bfr.close();
}
catch(IOExceptione){
System.out.println("文件关闭错误");
}
}
}
}

④ 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());

⑤ Java获取字符串中字母出现的个数

import java.util.HashMap;
import java.util.Set;
import java.util.concurrent.CyclicBarrier;
public class TestStrNumber {
private static String str1 = "sdfg,hellozx,sdfcv-waadfa,fsasdfxcvdf";
public static void main(String[] args) {
String ss=getUnmatchStr("hello");
getCharNum(ss);
}
public static void getCharNum(String ss){
String sb="";
for (int i = 0; i < ss.length(); i++) {
if (ss.charAt(i)!='-'&&ss.charAt(i)!=',') {
sb+=ss.charAt(i);
}
}
char[] cs=sb.toCharArray();
int oldNum=0;
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
for (char c : cs) {
if (map.containsKey(c)) {
oldNum=map.get(c);
map.put(c, oldNum+1);
}else {
map.put(c, 1);
}
}
Set<Character> keys = map.keySet();
for(Character c:keys){
System.out.print(c+"(出现"+map.get(c)+"次)");
}
}
public static String getUnmatchStr(String s){
String str2="";
int startIndex=0;
int endIndex=0;
if (str1.contains(s)) {
startIndex = str1.indexOf(s);
endIndex=startIndex+s.length();
}
str2 = str1.substring(0, startIndex)+str1.substring(endIndex, str1.length());
return str2;
}
}

阅读全文

与java中字符出现的次数相关的资料

热点内容
打完新冠疫苗下载什么app可以查到 浏览:879
海信电视用哪个app看网络电视 浏览:96
编程什么时候流行的 浏览:683
自学编程新手看什么书 浏览:180
linux全盘tar 浏览:454
ps文件命名自动输入怎么办 浏览:467
iphone6plus切图 浏览:822
iphone6没有提示更新 浏览:41
cc网络图教程 浏览:650
u盘无法剪切文件到电脑里 浏览:497
中海达静态数据大概多少内存 浏览:599
苹果6s手机文件管理器 浏览:107
qq头像非主流女生捂脸 浏览:736
java判断string编码 浏览:941
excel工资簿如何匹配相同数据 浏览:159
视频课程学习有哪些app 浏览:375
铁模编程怎么学 浏览:298
数学网络研修研究问题有哪些 浏览:677
stl文件怎么打印 浏览:427
json格式变量写法 浏览:68

友情链接