【问题标题】:Scanner input string without spaces?扫描仪输入字符串没有空格?
【发布时间】:2014-12-29 01:47:14
【问题描述】:

我想知道我该怎么做。

有人告诉我使用 kb.nextLine() 而不是 kb.next() ,但这只会导致我在运行程序时跳过输入。

String address;
student.setAddress(address = kb.nextLine()); 

然后我被告知这样做来修复它:

student.SetAddress(String address = kb.nextLine());

但我得到一个错误: String cannot be resolved into a variable" "Syntax error on token "address"

【问题讨论】:

  • 你能展示更多你的代码吗?您发布的第一行应该可以,但是没有上下文,很难说问题出在哪里。

标签: java arrays class object


【解决方案1】:

你的第二个例子是错误的。你的第一个例子看起来不错。但不是很好。我假设您一直在使用 nextInt()nextDouble() 之类的东西。它们会留下一个尾随的新行,因此您需要使用它。

kb.nextLine(); // <-- consume empty trailing line.
String address; 
student.setAddress(address = kb.nextLine()); //<-- reads line.

如果您不需要地址的本地副本,

kb.nextLine(); // <-- consume empty trailing line.
student.setAddress(kb.nextLine()); //<-- reads line.

正如Scanner.nextLine()Javadoc 所说,

将此扫描器前进到当前行并返回被跳过的输入。

【讨论】:

    猜你喜欢
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多