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:
怎么了? :(
答案 0 :(得分:1)
空格被解释为输入之间的分隔符。
如果您想阅读姓氏和姓氏:
System.out.print("\nEnter name: (FirstName LastName)");
String name = input.next()+" "+ input.next();
如果您允许多个FirstName ...
,则无法解决问题答案 1 :(得分: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
答案 2 :(得分:0)
您应该使用nextLine()方法而不是使用next()
public java.lang.String nextLine()
使此扫描程序超过当前行并返回跳过的输入。此方法返回当前行的其余部分,不包括末尾的任何行分隔符。该位置设置为下一行的开头。
由于此方法继续搜索输入以查找行分隔符,因此如果不存在行分隔符,它可以缓冲搜索要跳过的行的所有输入