JAVA编程:输一个字符串,再输入一个字符,判断该字符在该字符串中出现的此数。

编写方法。
public int counter(String inputs,String word){
int counter = 0;
//.......
return counter;
}
使用substring()方法将字符串的每个字符串的每个字符存入数组。
比较数组中每个字符是否与要求的字符相等,并计数。
【我做的代码如下,高手帮忙看下那里有问题】

按照你的意思,我改了下,你自己看吧。

package org.demo.zifudemo;

import java.util.*;

public class TestZiFu {

public static void main(String[] args) {

 Scanner scan = new Scanner(System.in);

 ZiFu zf = new ZiFu();   

     System.out.println("请输入一个字符串:");

     String zi = scan.next();

     System.out.println("请输入要查找的字符:");

     String find =  scan.next();

     int count = zf.count(zi, find);

     System.out.println(zi+"中总共包含"+find+"字符"+count+"个!");

}

}

class ZiFu{

private  String[] shu2 = new String[100]; 

public int count(String input , String word ){

int con = 0;

for(int i = 0 ;i <input.length();i++){

shu2[i] = input.substring(i,i+1);

}

for(int i = 0 ; i < shu2.length;i++){

if(word.equals(shu2[i])){

con++;

}

}

return con;

}

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-19
for(int i =0 ;i<100;i ++){
if(i<shu2.length){
shu2[i]=input.substring(i, i+1);
}else{
shu2[i]="";
}

}
for(int i =0;i<shu2.length;i++){
if(word.equals(shu2[i])){
counter++;
}
}

方法里面的那个循环改成这个试试追问

依旧是显示:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 8
at java.lang.String.substring(String.java:1935)
at ZiFu.counter(ZiFu.java:7)
at TestZi.main(TestZi.java:12)

追答

for(int i =0 ;i<input,length();i ++){
shu2[i]=input.substring(i, i+1);
}
for(int i =0;i<shu2.length;i++){
if(word.equals(shu2[i])){
counter++;
}
}

本回答被网友采纳
第2个回答  2011-10-19
取每个字符用charAt吧
第3个回答  2011-10-22
一个java程序里只能有一个public 类。。。
相似回答