定义一个方法,求出字符串中有多少种字符,以及每个字符的个数
static void printCharInfo(String str) 例如有字符串 str="apple is a apple.";
方式一:
public class String05 {
public static void main(String[] args) {
String str="apple is a apple.";
printCharInfo(str);
}
static void printCharInfo(String str){
char[] a=new char[50];
int[] b=new int[50];
char[] ch=str.toCharArray(); //将字符串转换为字符数组
int index=0;
for(int i=0;i<str.length();i++){
if(i!=0)
for(int j=0;j<index;j++){
if(a[j]==ch[i]){
b[j]++;
break;
}else if(j==index-1){
a[index++]=ch[i];
b[index-1]=1;
break;
}
}
else{
a[index++]=ch[i];
b[index-1]=1;
}
}
System.out.println("字符串中有"+index+"种字符");
System.out.println("每个字符的个数为:");
for(int i=0;i<index;i++){
System.out.println(a[i]+" :"+b[i]);
}
}
}
方式二:
public class String06 {
public static void printCharInfo(String str) {
int index=0;
while(str.length()>0) {
int n=str.length();
String a=str.charAt(0)+"";
str=str.replace(a,"");
System.out.println(a+":"+(n-str.length()));
index++;
}
System.out.println("字符串的种类为:"+index+"种");
}
public static void main(String[] args) {
String s="apple is a apple.";
String06.printCharInfo(s);
}
}
运行结果: