1
System.out.print("\nEnter name: ");
String name = input.next();
System.out.println("Added: " + name);

「Ciara Lim」のように名前を入力すると、「Ciara」とだけ読み上げられ、「Lim」は無視されます。以前に調査したように、使用する必要があると考えましinput.nextLine();た。しかし、それを に変更するとinput.nextLine();、次のように入力した内容が読み取られません。

Enter name: Added: 

どうしたの?:(

4

3 に答える 3

1

スペースは、入力間の区切りとして解釈されます。

姓と名を読みたい場合:

System.out.print("\nEnter name: (FirstName LastName)");
String name = input.next()+" "+ input.next();

複数の FirstName を許可する場合、これは問題を解決しません...

于 2013-01-20T15:28:23.017 に答える
0

next()を使用する代わりに、nextLine()メソッドを使用する必要があります

public java.lang.String nextLine()

このスキャナーを現在の行を超えて進め、スキップされた入力を返します。このメソッドは、最後の行区切り文字を除いて、現在の行の残りを返します。位置は次の行の先頭に設定されます。

このメソッドは、行区切り文字を探して入力を検索し続けるため、行区切り記号が存在しない場合は、スキップする行を検索するすべての入力をバッファリングする可能性があります。

于 2013-01-20T16:29:53.570 に答える
0

input.nextLine()その作品をうまく使う

Scanner#nextLine-このスキャナーを現在の行を超えて進め、スキップされた入力を返します。完全な例-

    Scanner input = new Scanner(System.in);
    System.out.print("\nEnter name: ");
    String name = input.nextLine();
    System.out.println("Added: " + name);

出力-

Enter name: Ciara Lim
Added: Ciara Lim
于 2013-01-20T15:33:00.440 に答える