2016-06-18 16 views
-3

単語 "Hello"の中の文字「e」を「E」に置き換えたいと思います。私はプロンプトから議論を読んでいる。javaの単語 "Hello"に "e"という文字を置き換えてください。

class LowToUpCase{ 
    public static void main(String[] args){ 
     if (args.length != 0) { 
      String str = args[0]; 
      str = str.substring(1,2); 
      System.out.println(str.toUpperCase()); 
     }else{ 
      System.out.println("Give arguments"); 
     } 
    } 
} 

Imは、大文字のEのみとして出力を取得します。しかし、私はどのようにhElloとして出力を得るのか分からない。必要な出力を得るためのヒントを教えてください。

+0

[のStringBuffer](https://docs.oracle.com/javase/7/docsを好むだろう/api/java/lang/StringBuffer.html)が役に立つかもしれません。 – Gendarme

+2

StringBufferの代わりに[StringBuilder](https://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html)を使用する必要があります。 – Casey

+0

http://stackoverflow.com/questions/6952363/replace-a-character-at-a-specific-index-in-a-stringを参照してください。 – jarmod

答えて

3

なぜかreplace小文字のeは大文字の対応ですか?

String str = args[0]; 
str = str.replace('e', 'E'); 
System.out.println(str); 

Docs for String.replace()

+0

ありがとうございました!私は出力を得た。私はJavaの初心者です。再度あなたの助けをありがとう。 – Anu

+0

@Boannあなたの編集をアイロンで止めて申し訳ありませんが、ここではもちろん、「置き換え」が良い選択です。 – Timo

2

Stringクラスのreplace()メソッドを使用できます。

class LowToUpCase{ 

    public static void main(String[] args){ 

    if (args.length != 0) 
    { 
     String str = args[0]; 
     str = str.replace('e', 'E'); 
     System.out.println(str); 

    }else{ 
    System.out.println("Give arguments"); 
    } 
    } 
} 
+0

これはTimoStaの以前の回答と重複していませんか? –

+0

ああ私はそれを気付かなかった、彼は私が私のことを書いている間に答えた。 –

2

それはあなたにも(少なくとも)小文字にしたい最初の文字を(その入力にtoLowerCase()を呼び出すことを忘れないでください)が表示されます。私はStringBuilder可変不変Stringを修正の上に一連の文字)と、何かのように、

StringBuilder sb = new StringBuilder(args[0].toLowerCase()); 
sb.replace(1, 2, sb.substring(1, 2).toUpperCase()); 
System.out.println(sb); 
関連する問題