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
相关推荐
gjxDaniel几秒前
Objective-C编程语言入门与常见问题
开发语言·objective-c
ZH15455891312 分钟前
Flutter for OpenHarmony Python学习助手实战:模块与包管理的实现
python·学习·flutter
山岚的运维笔记5 分钟前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
Gain_chance8 分钟前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
choke23311 分钟前
[特殊字符] Python异常处理
开发语言·python
云中飞鸿11 分钟前
linux中qt安装
开发语言·qt
hqyjzsb12 分钟前
盲目用AI提效?当心陷入“工具奴”陷阱,效率不增反降
人工智能·学习·职场和发展·创业创新·学习方法·业界资讯·远程工作
少控科技25 分钟前
QT第6个程序 - 网页内容摘取
开发语言·qt
darkb1rd26 分钟前
八、PHP SAPI与运行环境差异
开发语言·网络安全·php·webshell
南极企鹅27 分钟前
springBoot项目有几个端口
java·spring boot·后端