案例分析三(字符串统计)
编写程序,统计出字符串“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[<