2011-01-31 6 views
0

テキストを入力してください。句読点は使用しないでください。IndexOfを使用した大文字問題

Javaは言語です。

私は読むためにその行を言い換えている:

は、言語のJavaです。

試み:

int x; 
String sentence, first; 

System.out.println("\nEnter a line of text. No punctuation please."); 

Scanner keyboard = new Scanner (System.in); 

sentence=keyboard.nextLine(); 

    x = sentence.indexOf(" "); 
first= sentence.substring(0,x); 
second=sentence.substring(0,1) 
second=second.toUpperCase(); 
System.out.println("I have rephrased that line to read:"); 
System.out.println(second+sentence.substring(x+1)+" "+first); 

出力:

は、テキストの行を入力します。句読点は使用しないでください。私は読むためにその行を言い換えている

に何が起こっているか

://それは

W sが作るために必要なもの

PS -Iに行く「何が起こっている」お読みください文字 "i"資本。 "second.substring(0,1)"の読み文字を "i"にするにはどうすればよいですか? 提案したように、私は文字を取り除き、それを大文字で と連結しようとしましたが、わかりません。

私自身でこれをやっていない人が私に怒鳴りついています。私はそれに複数の試みを与え、本を読んでいる。それは役に立たなかった。私は教授に尋ねなければならなかったので、彼は私に頭を出しましたが、まだ十分ではありませんでした。是非、私はそれを理解したい。誰もが同じように把握するわけではありません。私は個人的に、理解するための例と精巧な説明が必要です。

+3

なぜ彼らは今、馬鹿な宿題を与えるのですか? –

+0

この宿題はありますか?宿題に関連する質問にタグを付けるのが好きです。 –

+3

の可能な複製[最初の単語を最後までどのように移動できますか?](http://stackoverflow.com/questions/4796186/how-can-i-move-the-first-word-to-the-end) –

答えて

2

変更:

first= sentence.substring(0,4); 

へ:

first= sentence.substring(0,x); 

次に追加:

sentence = sentence.substring(x+1,sentence.length()); 
1

試してみてください。

first = sentence.substring (0, x); 
// other stuff 
System.out.println (sentence.substring (x + 1) + " " + first); 
0

TL; DR:使用ANを最初の部分を取り除くには、他のsubstringと呼んでください。あなたのコードがすべてで動作していないようですthe String class documentationともManipulating Characters in a String


参照してください。 xに最初のスペースの位置を保存しますが、それを使用しないでください。sentence.substring(0, x)である必要があります。

文の場合:あなたはですか? sentence = sentence.substring(x+1)

は、その後、あなたがこのようなものでsentenceから最初の単語を取り除くべきかfirstでは、最初の単語を格納しています。今、文は次のようになります。

あなたは変数newSentenceに保存されている
String newSentence = sentence + " " + first; 

そして、そこ:あなたは神の祝福どのよう

です!は、あなただけの両方を連結その後

です

+0

簡潔な説明をいただきありがとうございます。しかし、私はまだsentence.substring(x + 1)について混乱していますか?まあまあ、私はポイントを取得し始めていると思います。 – Jay

+0

投稿されたStringクラスのdocがどのように動作するか説明しています。 'x'は最初の空白の位置を含みます。次にそれに1を加えて2番目の単語の先頭を取得します。 'substring(x + 1)'は与えられた位置から始まる新しい文字列を作成します。この文字列は2番目の単語の先頭になるので、最初の単語を切り捨てます。 – Trinidad

+0

ええ、意味があります。別の質問: "あなたはどのように"大文字の大文字にするのですか? 私は "sentence.substring(0,1)"を試しました "sentence = sentence.toUpperCase();" 動作しませんでした。 – Jay

関連する問題