2012-04-13 3 views
6

私の質問ユーザーが入力する文字の総数を取得するにはどうすればよいですか?配列を使わずに.length()を使ってみましたが、最初と最後の文字からすべての文字が返されず、最初の名前だけが返されました。文字列の総数を出力する

ここに私のコードの例があります。 (:)プログラミングで本当に新しい笑いイムいけないしてください)何が起こったのか

System.out.print("Enter your first and last name: "); 
String yourName = keyboard.next(); 
System.out.println("Your name has a total of " + yourName.length() + " numbers"); 

は、私が「ネオマトリックス」と言う入力する場合にのみ3.

私は任意の助けに感謝を返していました。ありがとうございました!

+2

この宿題ですか、「楽しい」のためにこれをやっていますか? (私は諺を思い出しています:プログラムを人に与えて、あなたは一日彼を苛立たせます。プログラムをする人を教えて、あなたは人生のために彼を失望させます。) – rajah9

+0

どれが、あなたのファイルの一番上にあります)タイプは、可変キーボードが持っていますか? –

+0

問題は "キーボード"オブジェクトから発生します。その "next()"メソッドはおそらく入力の次の単語を与え、グローバル入力テキストを与えません。 このオブジェクトは何か説明できますか? –

答えて

9

方法next()は、あなたの名前の最初の単語だけを読み取ります。代わりにnextLine()を試してください。

+0

ありがとうございました!!!!何らかの理由で私はあなたがctrl + spaceそれを食べたときにそれを見ていませんでした。私はそれを見落としたかもしれない。 –

3

Scanner.nextLine()を使用して行全体を読み取ることができます。

next()は、空白に応じてStringをトークン化します。したがって、最初の単語のみが表示されます。

関連する問題