-1

以下の既存のプログラムにどのように追加できますか? 子音、単語、スペース、および特殊文字の数を見つけられる必要があります。私はすでに母音を持っていますか?

import java.lang.String;
import java.io.*;
import java.util.*;

public class CountVowels
{
    public static void main(String args[])throws IOException
    {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter the String:");
        String text = bf.readLine();
        int count = 0;
        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            if (c=='a' || c=='e' || c=='i' || c=='o' || c=='u') {
                count++;
            }
        }
        System.out.println("The number of vowels in the given sentence are " + count);
    }
}
4

1 に答える 1

1

これは宿題なので、コードを書くつもりはありませんが、いくつかのアイデアを提供します。

  1. 子音。あなたはすでに母音の数を数えています。定義上、母音でないものはすべて子音です。(もちろん、空白と句読点は除きます。) またはもちろん、母音を数えるのと同じように、一致させる文字を正確にリストすることで、それらを数えることもできます。

  2. 単語とスペース。スペースの数がわかれば、単語の数がわかります。2 つの単語の間にはスペースがあるため、単語数はスペースの数に 1 を加えた数になります。

  3. 特殊文字。文字が子音でも母音でもスペースでもない場合、それは別のものです。この場合、「特殊文字」と見なします。したがって、すべての母音、子音、およびスペースを合計し、入力の合計の長さからその数を引くと、特殊文字の数が得られます。

さらに、上記のコードでは、小文字の母音のみをチェックしています。これで問題ありませんが、最初に入力文字列を次のように小文字に変換する必要がありますtext.toLowerCase()

次のような一連のメソッドを作成することを検討してください。

private boolean isConsonant(char x) { ... }
private boolean isVowel(char x) { ... }
private boolean isWhitespace(char x) { ... }

次に、入力文字列の文字を反復処理すると、 is-this-a-[something]? を単純化できます。チェックします。

最後に、「タイプ」ごとに個別のカウンターを保持する必要があります。したがって、 だけではなく、 、、およびint countが必要になるでしょう。int vowelCountint consonantCountint spaceCount

于 2012-07-08T04:14:49.987 に答える