私は自分でJavaを学習し、オンライン演習を使って練習しています。これまでの方法まで学習しただけなので、このエクササイズの配列を使用することは私の範囲を超えています。Java文字を文字に置き換える
練習問題は次のとおりです。母音で文字列を入力させますか?母音の文字があれば母音として母音を表示してください。
例:
import java.util.Scanner;
public class CapitalizeVowels {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter a string ~ ");
String string = keyboard.nextLine();
for (int i = 0; i < string.length(); i++) {
System.out.print(string.charAt(i));
if (string.charAt(i) == 'a' ||
string.charAt(i) == 'e' ||
string.charAt(i) == 'i' ||
string.charAt(i) == 'o' ||
string.charAt(i) == 'u') {
char upperCaseVowel = Character.toUpperCase(string.charAt(i));
System.out.print(upperCaseVowel);
// need to replace string.charAt(i) with upperCaseVowel
// find something to replace characters
}
}
}
}
それが入力された文字列で、あるように私は私のコードを実行すると:ユーザーが「りんご」を入力した場合、正しい出力は、私がこれまでのところ、このコードを持っているリンゴ
です例えば、「りんご」は、私の出力として「aAppleEs」を取得します。小文字の母音と大文字の母音の両方が印刷されています。私はlowerCaseVowelと小文字の母音であるstring.charAt(i)を置き換えなければならないと思っていますが、replace()メソッドやその文字のための何かを見つけることができません。私はStringBuilderなどのような他のものを試しましたが、私はそれらをまだ学んでいないので、配列を避けるのに十分単純な解決策を見つけていません。どのように私が適切な出力に到達できるかについての助けは非常に高く評価されます。ありがとう!
[置き換える方法があります](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replace%28char,%20char%29)。 – resueman
母音かどうかを確認するまで、$ i^{th} $の位置に文字を表示しないでください。 – user2505282