0

ユーザー入力を取得し、配列内のすべての母音をユーザーが入力したものに置き換える必要がある関数を実行しています。これは私の配列です。正直なところ、私が何をしているのかわかりません。

char [] letters = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'}

ifの中で入れ子にすることを考えていfor loopますが、私が言ったように、正しい方向に向かっているかどうかはわかりません。

/********************************************************************************
  This function will prompt the user to replace all vowels in the array
********************************************************************************/
public static void replace( char [] letters ){      
    for(int i =0; i < letters.length; i++){
       if(i >= 'A')
        if(i <='Z')
         System.out.println(letters[i]);
        else
          break;        
    }        
}
4

4 に答える 4

0

ユーザー入力がであると仮定するとb、これを達成できます。

public static char [] replace(char [] src) {
    String s = new String(src);
    s = s.replaceAll("[aeiouAEIOU]", "b");

    return s.toCharArray();
}
于 2012-10-29T01:06:19.783 に答える
0

私があなたの質問を正しく解釈している場合、あなたはa、e、およびiをユーザーが入力した別の文字に置き換えたいと思います。

  1. インデックス「i」を文字と比較している場合は、おそらくそれを次のように変更する必要があります。
if(letters[i] >= 'A') 
if(letters[i] <= 'Z') 
System.out.println(letters[i]); 
else 
break; 

もう1つ、母音かどうかをテストする場合は、次のようにすべての比較をORすることができます。

if(letters[i] == 'A' ||
   letters[i] == 'E' ||
   letters[i] == 'I' ||
   letters[i] == 'O' ||
   letters[i] == 'U')
letters[i] = users_input
于 2012-10-29T01:00:27.857 に答える
0

多分このようなもの?

public static void replace( char [] letters )
{      

    Scanner s = new Scanner(System.in);

    for(int i = 0; i < letters.length; i++)
    {

        if ("AEIOU".indexOf(letters[i]) >= 0)
        {
              System.out.println("\nVowel Found, What should it be replaced with?");
              String line = s.read();
              letter[i] = line.charAt(0);
        }
    }

}
于 2012-10-29T01:00:56.043 に答える
0

あなたのループは、すべての大文字を出力する以外に多くのことをするようには見えません。プロンプトを表示してユーザー入力を取得するには、いくつかのコードが必要です。文字が母音かどうかをテストする方法も必要です。後者を行う1つの方法は次のとおりです。

if ("AEIOU".indexOf(letter) >= 0) {
    // letter is a vowel
}

小文字も処理する必要がある場合は、"AEIOUaeiou".indexOf(letter)またはを使用できます"AEIOU".indexOf(Character.toUpperCase(letter))。これにより、ネストされたループが標準 API 関数呼び出し内に隠され、コードが読みやすくなり、デバッグが容易になります。indexOf(正しく書かれていると安全に想定できます。)

ユーザー インタラクションについてSystem.inは、Scanner. 別の方法 (そしておそらくより良い方法) として、Consoleすべてのユーザー I/O を管理するために a を使用します。このチュートリアルを見て、自分で理解できるかどうかを確認してください。行き詰まった場合は、別の質問を投稿してください。

于 2012-10-29T00:56:23.830 に答える