统计某个字符串中有多少种字符,以及每个字符的个数:
num为该字符串的初始长度,将字符串的第一个字符与后面的每个字符进行equals,
如果相等num--,然后用空字符串替换该字符;依次递归。
charNum为字符个数。
/**
* 求出字符串中有多少种字符,以及每个字符的个数?
* @author 小苗
*
*/
public class CountCharNum {
private int num; //统计字符种类变量
public CountCharNum(String str){
this.num = str.length();
}
public int count(String str){
int leng = str.length();
if(leng == 0){
return num;
}else {
String a = str.substring(0, 1);
int charNum = 1; //统计字符个数变量
System.out.print("字符:"+a);
for (int i = 1; i < str.length(); i++) {
if(a.equals(str.substring(i, i+1))){
num--;
charNum++;
}
}
System.out.println(" "+charNum);
str = str.replace(a, "");
count(str); //用递归
}
return num;
}
public static void main(String[] args) {
String aString = "yekmaakkccekymbvbsf4w";
CountCharNum cc = new CountCharNum(aString);
System.out.println("共有字符类型:"+cc.count(aString));
}
}
还有一种更简单的方法:
public void countChar(String str){
int num=0;
while(!"".equals(str)){
String temp=str;
System.out.print("字符:"+str.substring(0, 1));
str=str.replaceAll(str.substring(0, 1), "");
System.out.println(" "+temp.length()-str.length());
num++;
}
System.out.println(" 字符种类数:"+num);
}
分享到:
相关推荐
string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); find_last_of(string strSub, npos); 其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子...
(b)改进程序,当第一个字符串包含在第二个字符串中时,显示第一个字符串在第二个字符串中的起始位置。 (c)改进程序,即使当用户输入顺序错误时(第一个是长字符串,第二个是短字符串),能自动在长字符串中搜寻短字符...
本文实例讲述了C#实现实体类与字符串互相转换的方法。分享给大家供大家参考。具体实现方法如下: using System; using System.Collections.Generic; using System.Text; namespace PackDLL.Data.ConvertData { ///...
从字符串中查找字符出现次数的方法和性能对比
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。 方法二:match() var str = "123" var reg = RegExp(/3/); if(str.match(reg)){ //包含; } ...
必须实现如下操作,字符串比较、求串的长度、判断串是否为空、将串置空、字符串赋值(包括两个字符串类复制,一个字符串赋值到CmyString对象)、求字符串中的一个字符或改变字符串中的一个字符(采用重载[]),完成...
在java算发中,求出字符串第一个数字; 如:“sdf545654afd” 他会返回,5,返回类型是(int)类型 如果字符串是:“打发士大夫” 则返回;-1, 想要运行,加入main()就行了。
用string拆分字符串 用string拆分字符串 用string拆分字符串
C++自定义string字符串类,包含字符串的常用操作以及IO流操作
获取字符在字符串中出现的次数VC实现 共享
C#字符串删除指定字符串|C#字符串删除子字符串
这个代码,可以删除一个字符串中你想删除的字符或字符串
有如下的一个字符串 String str = “QWERTYUIQQQWJHDAADADBBBBCAD”; 请统计出其中每一个字母出现的次数,在控制台打印如下的格式: A----3 B----4 C----1 D----2 请打印出字母次数最多的那一对
详解C++中十六进制字符串转数字(数值) 主要有两个方法,其实都是对现有函数的使用: 方法1: sscanf() 函数名: sscanf 功 能: 从字符串格式化输入 用 法: int sscanf(char *string, char *format[,...
将string类型的xml转为JSON字符串,利用JSONObject处理JSON串
本文实例讲述了C#判断字符串是否存在字母及字符串中字符的替换的方法。分享给大家供大家参考。具体实现方法如下: 首先要添加对命名空间“using System.Text.RegularExpressions;”的引用 下面以一个字符串为例: ...
* 使用一个字符串分割另一个字符串 * * @param delimiter 边界上的分隔字符 * @param haystack 输入的字符串 * @param out 输出的字符串指针 * @return 分割成了多少个成员 */ int explode(char *delimiter, ...
4、 给定的字符串数组:strings s[] = {“string”,”starting”,”strong”,”street”,”stir”,”studeng”,”soft”,”sting”},编写应用程序,统计以”st”开头的字符串有多少个,以”ng”结尾的字符串有多少个...
305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)...
通过键盘输入一串小写字母(a~z)组成的字符串,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。 要求实现...