当前位置: 首页 > 面试题库 >

java.util.Scanner跳过输入请求

谭锐藻
2023-03-14
问题内容

我正在尝试使用接收输入java.util.Scanner

Scanner scanner = new Scanner(System.in);
int bla = scanner.nextInt();
String blubb = scanner.nextLine();

但是该nextLine()命令只是被跳过而返回一个空字符串。我怎么解决这个问题?


问题答案:

nextInt方法不会占用整数后的换行符,因此在调用该方法时,nextLine它仅读取整数后的换行符。

如果您输入以下内容:

42\n
foo\n

readInt调用使用了42而不是换行符:

\n
foo\n

现在,当您调用readLine它时,它消耗了第一行的其余部分,该行仅包含换行符。

尝试丢弃整数后的其余行:

int bla = scanner.nextInt();
scanner.nextLine(); // Discard the rest of the line.
String blubb = scanner.nextLine();

或者使用nextLine一致的方式读取每一行,然后自己将字符串解析为整数:

String blaString = scanner.nextLine();
int bla = Integer.valueOf(blaString);
String blubb = scanner.nextLine();


 类似资料:
  • 问题内容: 我是从记录用户输入使用。我需要验证输入内容,例如: 必须为非负数 它必须是字母 …等等 最好的方法是什么? 问题答案: 示例1:验证正整数 这是一个用于int从输入中验证肯定的简单示例。 结果: 请注意,与更详细组合相比,使用起来要容易得多。通过合同,一个 保证,如果它,然后将安静地给你int,并不会引发任何。 示例2:同一令牌上有多个 请注意,上面的代码段包含一个语句,以使Scann

  • 这里是Java新手,尝试扫描下面表单中的输入: 3 3 3 101 000 101 拜托,有更有经验的人能教我如何解决这个问题吗?我发现一些问题与。nextline()和。nextint()有类似的问题,但不完全是这样。不过,如果真的是复制品,我提前道歉... (如果需要,我会添加更多信息)

  • 在试图使Do/While循环工作时,我很难找到正确的语法。我想用C语言编写一个计算器,让用户输入一个字符串,然后它做它的事情并打印结果,询问用户是否想再去一次。 到目前为止,我有一个简单的main函数,只是为了让Do/While循环正确,但是当我输入Y或Y时,程序只是问我是否想再次继续,它没有给我再次运行“计算器”部分的机会。我做错了什么?

  • 因此,下面的编程作业的寓意是,我需要编写一个地址簿,其中包含第一个、最后一个、地址、城市/州、邮政编码。我必须使用switch语句,但不能使用ioexception或缓冲读取器。LiFiAddressBook文件与LastFirstChapter10分开(但链接在下面的同一框中)。它似乎编译正确,但它在以下错误之间切换:不能在switch语句中使用布尔值,跳过邮政编码输入以选择要搜索的选项,等等。

  • 查看图像以供参考。 我是Java的初学者。

  • 我正在编写代码来打印三个驱动程序的详细信息,但问题是程序正确地输入了驱动程序1,但跳过了驱动程序2和3名称的输入,尽管提供了输入,它还是将打印为。 输出是这样的: