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;
}
}
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++;
}
}