java统计字符串里相同字符出现的次数
java统计字符串里相同字符出现的次数
统计小写字母和大写字母还有数字的个数
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入:");
String s = sc.nextLine();
int num1 = 0;
int num2 = 0;
int num3 = 0;
char[] chars = s.toCharArray();
for (int i = 0; i < chars.length; i++) {
char c = chars[i]; // 创建一个字符变量接收遍历字符串里的数据
// 进行判断
if (c >= A && c <= Z ) {
num1++;
} else if (c>=a && c<=z) {
num2++;
} else if (c>=0 && c<=9){
num3++;
}
}
System.out.println("大写字母字符:"+num1);
System.out.println("小写字母字符:"+num2);
System.out.println("数字字符:"+num3);
}
}
统计字符串里相同字母的个数
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入:");
String s = sc.nextLine();
int[] data = new int[123];
/*
解题思路
根据Ascii码值进行解题 定义一个大小为123的数组data
先把字符串转换为数组,然后进行遍历,进行判断,比如1的Ascii值为49,这个时候data[49]的值就+1,下边也是同样的道理,
输出的时候,就遍历data这个数组如果data[i]的值为0就不进行输出,否则就输出这个值,然后根据data[i]中的i值输出对应的字母
*/
char[] chars = s.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (chars[i] >= 48 && chars[i] <= 57) {
data[chars[i]]++;
}
if (chars[i] >= 65 && chars[i]<=90) {
data[chars[i]]++;
}
if (chars[i]>=97 && chars[i]<=122) {
data[chars[i]]++;
}
}
move(48,57,data);
move(65,90,data);
move(97,122,data);
}
// 定义一个方法,将结果进行输出
public static void move(int min,int max,int data[]) {
for (int i = min; i <=max; i++) {
if(data[i] == 0) {
continue;
}
char ch = (char)i; // 将Ascii值转换为相应的字母
System.out.println("字母:"+ch+"出现的次数"+data[i]);
}
}
}
下一篇:
c++进阶教程:我见过最好的c++教程
