Scanner in = new Scanner(System.in);
while (in.hasNext()) {
String a = in.nextLine();
System.out.println(a + " 1");
}
我只想检查当输入为空格或回车时会发生什么,但它不会打印任何东西,直到我的输入既不是空格也不是回车,就像这样
a // input
a 1 // output
// SPACE(input)
c // input
1 // output
c 1 // output
为什么它不打印,直到它读取既不是BLANK也不是SPACE的东西?此外,当它最终打印时,它打印的SPACE是c 1之前的行,当我输入c时,它给我1和c 1。
正如@Savior在本文中提到的:
hasNext()
检查缓冲区中是否有可解析的标记,由扫描仪的分隔符分隔。由于扫描仪的分隔符是空白,而线型图案也是空白,因此缓冲区中可能有线型图案,但没有可解析的标记。
考虑使用hasNextLine()
public class Main {
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String a = in.nextLine();
System.out.println(a + " 1");
}
}
}
Java扫描仪hasNext()vs. hasNextLine():也就是说,hasNext()
检查输入并返回true,如果它有另一个非空白
字符。Whitespace
不仅包括空格字符,还包括制表符空间(\t)、换行符(\n),甚至更多字符。
连续的空白字符被视为单个分隔符。
系统in表示标准输入<当你通过系统时。为了初始化扫描仪,它将从标准输入中读取数据
它将始终等待输入,除非您的输入是EOF
(Windows
中的CtrlZ或CtrlD)
因此扫描仪将始终等待输入的非空白字符。
当您按空格键时,它会向标准输入和功能扫描仪发送两个空格字符\n
。hasNext()仍在等待非空白字符。和扫描仪。hasNext()
不返回任何内容。这就是为什么目前没有产出
然后按c,它会将非空白字符c
发送到标准输入。
现在,标准输入包含\n
c
,第三个不是空白字符
最后是函数扫描器。hasNext()
返回true
然后是扫描仪。nextLine()
读一行直到字符\n
:它将是(一个字符),
和程序打印1
。
标准输入现在变成c
,只有一个字符,
这将导致扫描仪。hasNext()
再次返回true:
扫描仪将读取一行字符c
,
并打印c
1
。
问题内容: 我在将任何内核模块构建到我的机器上时遇到问题。每当我构建模块时,modpost总是说模块为零: 为了解决该问题,我编写了一个测试模块(hello.c): 这是模块的Makefile: 在计算机上构建它时,得到以下输出: 当我在另一台机器上制作模块时,它成功了: 我寻找了有关modpost的任何相关文档,但收效甚微。任何人都知道modpost如何决定要构建什么?我可能会缺少一个环境吗?
我正试图装配一个KafkaStorm“你好世界”系统。我有Kafka安装和运行,当我发送数据与Kafka生产者我可以读取它与Kafka控制台消费者。 我从O'Reilly的《Storm入门》一书中选取了第二章的例子,并将其修改为使用Kafka斯库特(KafkaSpout)而不是普通的喷口。 当我运行应用程序时,kafka中的数据已经挂起,KafkaSpout的下一个线程不会收到任何消息——它进入,
问题内容: 我的entityManagerpersist()从序列中获取ID,并将其放入我的Image对象,但是Image对象本身未显示在数据库中。EntityManager.flush()给出错误,所以我不能以这种方式提交。这是我的代码。 问题答案: 这通常在未应用Transaction in时发生。我怀疑@Transactional拦截器没有正确拦截。
我有一个计算输入的函数,我需要不断询问他们的输入并计算,直到他们输入一个空行。我该怎么设置呢? 我想用这样的东西,但实际上不起作用。有什么帮助吗?
我目前正在使用Jupyter笔记本,我想强制它将Python日志打印到输出单元格。 我用的是以前用这种方式工作的旧笔记本,可能是旧版本的Jupyter笔记本。 我将日志设置为: 但当我打电话时: 它不会在输出单元格中打印任何内容。它只是在我启动Jupyter笔记本的控制台中打印出内容。 我正在使用并且在我的虚拟环境中安装的包是: 单元格中的日志打印输出是否已更改?是否有某种方法可以强制将日志记录写
问题内容: 我是一个相对较新的程序员,所以这可能是一个非常简单的问题,但是让我有些困惑。 我正在尝试将Java GUI的最终输出打印到打印机。现在,在我的GUI中,有了它,当您单击打印时,会弹出一个弹出窗口,列出可用的打印机,并根据您选择的打印机,将其打印到该打印机。 但是事实并非如此。我通过搜索互联网来解决此问题,从而获得了大部分代码,并找到了一些很有前途的代码。但是,它是从文件打印出来的。因此