我正在尝试使用接收输入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名称的输入,尽管提供了输入,它还是将打印为。 输出是这样的: