package API;
import java.util.Scanner;
/**
* Author:jinpma
* Date :2019/9/14
*/
/*
* 任务:任意输入小写字符串,获取a、b、c···出现的次数
* 实现:
* 1.递归,执行完a的索引,紧接着执行b的索引,一直执行到z的索引
* 2.递归终止条件:索引a-z,索引递归次数>26,则停止
* 注意:
* char ch = 'a';
int i = 'a' + 1; i=98
char ch = (char)'a'+1; ch='b'
* */
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char[] chars = str.toCharArray();
char ch = 'a';
int j = 0;
method(chars, ch, j);
}
public static void method(char[] chars, char ch, int j) {
//递归条件(a-z),总共26次
if (j < 26) {
//count用于记录字符出现的次数
int count = 0;
for (int i = 0; i < chars.length; i++) {
if (chars[i] == (char) ch + j) {
count++;
}
}
//输出结果要求 a:count
// b:count
//是在不断变化的,a,b,c,d···
char cc = (char) ('a' + j);
//只输出出现次数大于1次的字符
if (count > 0) {
System.out.println("" + cc + ":" + count);
}
//执行下一次的递归,对应字符的Ascall码值+j
j++;
method(chars, ch, j);
}
}
}
输入小写字符串,获取a、b、c···各个字符出现的次数
最新推荐文章于 2023-01-23 21:26:40 发布