私はコーディング試験のために手作業でコードを書くことを試みていますが、サンプルの質問の1つは指定された文字列の最初の母音のインデックス。存在しない場合は-1を返します。与えられた文字列中の母音の最初のインデックスを見つける、そうでなければ-1を返す
私はこれをeclipseに入れてデバッグしました。なぜこれがうまくいかないのか分かりません。私は出力として101を得続けます。最初はインデックス変数を使用しませんでした。if文にはword.charAt(i)を返します。私はそれを変えようとしましたが、何もしませんでした。あなたがこれを書くための簡単な方法であるもの、これを書かなければならなかった場合
(試験の目的のために、彼らは私たちがちょうど小文字の母音を使用していた)
も?
public static int firstVowel(String word) {
for (int i = 0; i < word.length(); i++) {
int index;
if (word.charAt(i) == 'a' || word.charAt(i) == 'e' || word.charAt(i) == 'i' || word.charAt(i) == 'o'
|| word.charAt(i) == 'u') {
index = word.charAt(i);
return index;
}
}
return -1;
}
String.indexOfはコードを読みやすくします。 –
私はそれをif文に入れますか?私はそれを以前に使ったとは思わない。 – valcyon
いいえ、コードは '(擬似コード)' min(indexOf( 'a')、indexOf( 'e')...) 'に絞り込まれます。しかし、このような 'min'メソッドはあらかじめ定義されていません(' Math.min() 'は2つの引数しか取らないため、大括弧が重なります)。したがって、個々の文字に対して '-1'を守らなければなりません。そうすれば、読めないコードの可能性が最も高くなります。 – Izruo