1

この問題は次のように述べています: ユーザーが文字列と文字を与えられた場合、その文字 (ユーザーが指定) が文字列 (これもユーザーが指定) 内で繰り返される回数を見つけます。

私はこのコードを持っています

public int repeticion (int s){
        int return = 0;
        int cont = 0;
        Scanner in = new Scanner(System.in);
        System.out.println("Write a string: ");
        String chain = in.next();
        System.out.println("Write the character: ");
        String character = in.next();
        if (chain.contains(character)) {
            cont = cont + 1;
        }
        System.out.println("The character repeats itself "+cont+"times");
        return return;

しかし、ご覧の.containsとおり、文字列に出現する回数ではなく、文字を 1 回だけカウントします。

4

6 に答える 6

1

文字が文字列に含まれていることを繰り返し確認し、そのインデックスを取得してから、そのインデックスの後ろから文字列の末尾までの部分文字列を確認することもできます。次のことをお勧めします。

int index = 0;
int count = 0;
while (chain.indexof(character, index) != -1  && index < chain.length()-1) {
    index = chain.indexof(character, index) + 1;
    count++;
}
于 2014-02-22T23:16:02.910 に答える