Java语言程序设计基础篇_编程练习题*18.17 (数组中某个指定字符出现的次数)

题目:*18.17 (数组中某个指定字符出现的次数)

编写一个递归的方法,求出数组中一个指定字符出现的次数。需要定义下面两个方法,第二个方法是一个递归的辅助方法。

java 复制代码
public static int count(char[] chars, char ch)
public static int count(char[] chars, char ch, int high)

编写一个测试程序,提示用户在一行中输入一个字符列表以及一个字符,然后显示该字符在列表中出现的次数。

代码示例

编程练习题18_17CharacterCount.java

java 复制代码
package chapter_18;

import java.util.Scanner;

public class 编程练习题18_17CharacterCount {
	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.toCharArray(), ch));
		input.close();
	}
	public static int count(char[] chars,char ch) {
		return count(chars, ch,chars.length-1);
	}
	public static int count(char[] chars,char ch,int high) {
		  if (high < 0) {  
	            return 0; // 基本情况:如果high小于0,返回0  
	        }  
	        int count = 0; // 局部变量来计数,避免使用静态变量  
	        if (chars[high] == ch) {  
	            count++;  
	        }  
	        return count + count(chars, ch, high - 1); // 递归调用并累加结果  
	}

}
输出结果
java 复制代码
Enter a string and a character: AAaaAAaaAAaa a
6
相关推荐
带娃的IT创业者2 分钟前
解密OpenClaw系列11-OpenClaw自动更新系统
开发语言·软件工程·自动更新·软件发布·ai智能体·openclaw·桌面智能体
没有bug.的程序员12 分钟前
Arthas 深度进阶:线上问题非侵入式诊断内核、方法级监控与线程阻塞排查实战指南
java·arthas·线上问题·非侵入式·方法级监控·线程阻塞
香芋Yu13 分钟前
【大模型面试突击】04_Embedding与表示学习
学习·面试·embedding
亓才孓27 分钟前
[Mybatis]Mybatis框架
java·数据库·mybatis
跟Tom学编程—一对一编程辅导30 分钟前
基于 Java 的 SSM 架构电子商城项目毕业设计课题选型指导文档|名企高级开发工程师全程一对一指导(含详细文档+源码+部署)
java·架构·毕业设计·课程设计
编程小风筝1 小时前
编写java代码如何写文档注释?
java·开发语言
lly2024061 小时前
HTML 媒体(Media)
开发语言
一个处女座的程序猿O(∩_∩)O1 小时前
Python函数参数*args和**kwargs完全指南:从入门到精通
开发语言·python
与衫1 小时前
如何将SQLFlow工具产生的血缘导入到Datahub平台中
java·开发语言·数据库
m0_531237171 小时前
C语言-分支与循环语句练习
c语言·开发语言