目录
题目:*18.10 (字符串中某个指定字符出现的次数)
编写一个递归方法,使用下面的方法头给出一个指定字符在字符串中出现的次数。
public static int count(String str,char a)
例如,count(“Welcome”, ‘e’)会返回 2。编写一个测试程序,提示用户输入一个字符串和一个字符,显示该字符在字符串中出现的次数。
-
习题思路
- 新建int私有变量用于计数
- count方法思路
- 如果str的长度等于1,那么检查其中的字符是否和a相同。如果相等则将计数变量+1,返回计数变量。
- 不等于1则检查str最后一个字符是否与a相同,如果相等则将计数变量+1,将str最后一个字符删除再调用count方法,返回计数变量。
- 编写main方法,让用户一个字符串和一个字符,输出调用count方法。
-
代码示例
编程练习题18_10CharacterCount.java
package chapter_18;
import java.util.Scanner;
public class 编程练习题18_10CharacterCount {
private static int times = 0;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a string and a character: ");
String str = input.next();
char ch = input.next().charAt(0);
System.out.println(count(str, ch));
input.close();
}
public static int count(String str,char a) {
if(str.length() == 1) {
if(str.charAt(0)==a)
times++;
return times;
}else {
if(str.charAt(str.length()-1)== a) {
times++;
}
count(str.substring(0,str.length()-1), a);
return times;
}
}
}
-
输出结果
Enter a string and a character: Welcome e
2
标签:练习题,18.10,Java,字符,count,times,str,字符串,input
From: https://blog.csdn.net/2301_78998594/article/details/142082248