综合案例:继承分析(2)

本文通过两个案例深入探讨面向对象设计。案例一介绍如何统计字符串中特定字母出现次数,提出顺序思维与结构化设计两种方案。案例二涉及数组操作,设计一个基础的Array类,包含增加、扩充容量和获取全部内容等功能,并派生出数组排序和反转的子类。文章强调了在设计中考虑父类方法的重要性。
摘要由CSDN通过智能技术生成

案例分析三(字符串统计)

编写程序,统计出字符串“want you to know one thing"中字母n和字母o地出现次数。
对于本程序而言,最简单的操作方法就是在主方法里面定义一个操作,或者直接定义一个新的类处理。
范例: 定义一个单独的处理类

class StringUtil{
   
	//返回的第一个内容为字母n的个数,第二个内容为字母o的个数
	public static int []count(String str){
   
		int countData[]=new int [2];
		char []data=str.toCharArray();//将字符串变为字符数组
		for (int x = 0; x < data.length; x++) {
   
			if (data[x]=='n'||data[x]=='N') {
   
				countData[0]++;
			}
			if (data[x]=='o'||data[x]=='O') {
   
				countData[1]++;
			}
		}
		return countData;
	}
}
public class Demo1 {
   
	public static void main(String[] args) {
   
		String str="want you to know one thing";
		int result[]=StringUtil.count(str);
		System.out.println("字母n的个数:"+result[0]);
		System.out.println("字母o的个数:"+result[1]);
	}
}

以上的解决方案严格来讲只是一种顺序式的思维模式解决的,假设现在统计的是字母o或者n的个数,以后还有可能统计其他以及的设计。

class StringUtil{
   
	private String content;//需要保护字符串
	public StringUtil(String content) {
   
		this.content=content;
	}
	public String getContent() {
   
		return this.content;
	}
	public String getInfo() {
   	//默认的信息返回
		return this.getContent();
	}
}
class StringCount extends StringUtil{
   
	private int ncount;
	private int ocount;
	public StringCount(String content) {
   
		super(content);
		this.countChar();//构造方法统计
	}
	public void countChar() {
   
		char []data=super.getContent().toCharArray();//将字符串变为字符数组
		for (int x = 0; x < data.length; x++) {
   
			if (data[x]=='n'||data[x]=='N') {
   
				this.ncount++;
			}
			if (data[x]=='o'||data[<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值