まず、私の悪い英語のために私を許してください。それは私の母国語ではありません(これは私の問題の1つです。アクセント記号を含む文字列の母音を数えるには?
私は、Javaのメソッドを作ってるんだし、文字列の母音をカウントすることが提案されています。私はjavacとjavaコマンドを使ってコンパイルして実行しているので、入力はWindowsプロンプトから来ます。
私は運動を解決するために、コードのいくつかの行を書いたが、私はアクセント記号を持つ母音をカウントすることはできません。例えば。私が "canción"を試してみると、その出力は2つの母音を数えるだけです。
public static int countVowels(String text){
int answer = 0;
String test = "AEIOUaeiou";
for (int i = 0; i < text.length(); i++)
for (int j = 0; j < test.length(); j++)
if (text.charAt(i) == test.charAt(j)) {
answer++;
break;
}
return answer;
}
public static void form() {
Scanner in = new Scanner(System.in);
System.out.println("This program counts the number of vowels.");
int answer = 0;
String text = "";
while (!text.equals("-1")) {
System.out.print("Enter a line of text (-1 to exit): ");
text = in.nextLine();
answer = Character.countVowels(text);
System.out.println("Number of vowels: " + answer);
}
System.out.println("Closing the program...");
}
私はスキャナを入力方法として使用しています。
私はif(text.charAt(i) == 'A')
を使用するだけで(たぶん私が間違っている)退屈だと思う原因I」は2文字列を比較してみました。
本当に私は何をすべきか分かりません。私はAsciiの値(193 =Á)を使って試しましたが、テスト文字列String test = "AEIOUaeiouÁÉÍÓÚáéíóú";
にアクセント記号付きの母音を書くだけでした。
何も機能しません。私は私を助けることができる人に非常に感謝します。
PSは、私は、配列を使用することはできませんよ。
[文字がJavaの母音かどうかを確認するにはどうすればよいですか?](http://stackoverflow.com/questions/26557604/whats-the-best-way-to-check-if- a-character-is-a-vowel-in-java) –
クラス名が 'java.lang.Character'と衝突するので、私はあなたのクラス' Character'を呼び出さないでしょう。一般に、 'java.lang'パッケージに存在するクラス名は使用しないでください。これは、各Javaソースファイルで自動インポートされるため、多くの混乱を招きます。 –
アドバイスありがとう、私は編集します。 –