[解決済み] isVowel() メソッドに文字列中の文字を指定します。
2022-02-08 04:47:15
質問
たくさんの単語を含むテキストファイルがあります。私のプログラムの1つの部分は、ユーザー入力に基づいて、このリストをスキャンし、要求された数の母音を含む単語を出力ファイルに挿入することになっています。私は
isVowel
を返すメソッドです。
boolean
しかし、これはうまくいかないようで、出力はただの空リストになってしまいます。
以下はその方法です。
public boolean isVowel(char c)
{
if(c=='a' || c=='A' || c=='e' || c=='E' || c=='i' || c=='I' || c=='o' || c=='O' || c=='u' || c=='U')
{
return true;
}
else
{
return false;
}
}
}
これがプログラムの中で使われている部分です。
public ArrayList<String> vowelHeavy(int n, int m)
{
int vowels = 0;
while(input.hasNextLine())
{
word = input.nextLine();
if (word.length() == n)
{
for(int i = 0; i < word.length(); i++)
{
if(isVowel(word.charAt(i)) == true)
{
vowels++;
}
}
if (vowels == m)
{
output.add(word);
}
}
word = input.nextLine();
}
return output;
}
解決方法は?
あなたの最大の問題は、あなたがリセットされていないことです。
vowels
新しい単語をテストするときに、カウント変数を使用します。その値は、ただ母音の合計を蓄積し続けます。
ファイル内の
.
変更する。
int vowels = 0;
while(input.hasNextLine()) {
...
になります。
while(input.hasNextLine()) {
int vowels = 0;
...
余談ですが、あなたのコードの大部分、つまり
isVowel()
メソッドを1行で済ませることができます。
int vowels = word.replaceAll("[^aeiouAEIOU]", "").length();
これは、単語から母音以外のすべての文字を削除することで動作します。残っているのは母音なので、長さを取るだけでカウントが得られます。
関連
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み] std::string を const char* または char* に変換する方法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] 英数字のランダムな文字列を生成する方法
-
[解決済み] Javaで文字列を分割する方法
-
[解決済み] スタックトレースを文字列に変換するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】リンクリストの負の値の数でnegativeCntrを代入する
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み] 解決済み】Javaが「型をインスタンス化できない」というエラーを返す [重複] [重複]
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み】デフォルトのキーストアファイルが存在しない?
-
[解決済み】Gradleがtools.jarを見つけ出さない
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない
-
[解決済み】Eclipseで「パッケージエクスプローラー」ビューが見つからない