当前位置: 首页 > 知识库问答 >
问题:

Java等待回车(不执行多个按键)

师博
2023-03-14

我有一个程序Java程序,它有多个段,我想手动执行(使用“按Enter继续”)。

现在我一直在尝试使用System.in.read()或扫描仪,但如果我要进行多次输入,它会自动执行下一个段。

我如何规范这种行为?

共有2个答案

端木狐若
2023-03-14

在等待下一个输入之前,您必须从InputStream中删除所有内容。

<代码>系统。在里面available()返回流中当前的字节数。

System.in.read(new byte[System.in.available()]);

这会清除Stream,因此现在用户必须再次输入某些内容。

注:<代码>系统。在里面skip()由于某些原因不起作用。

朱啸
2023-03-14

我建议使用BufferedReader而不是System。在里面read()。它还有一个内置的冲洗机制。

 类似资料:
  • 问题内容: 我是python的n00b用户,并且正在查找执行以下操作的代码段/示例: 显示类似“按任意键进行配置或等待X秒继续”的消息 例如,等待5秒钟,然后继续执行,或者如果按下某个键,则输入configure()子例程。 感谢您的帮助! 伊万·詹森斯(Yvan Janssens) 问题答案: 如果您使用的是Unix / Linux,那么select模块将为您提供帮助。 如果您使用的是Windo

  • 问题内容: 请考虑以下代码片段: 这是在小程序中添加一个标签,该标签显示了Worker线程的一些中间结果(使用发布/处理方法)。最后,标签从小程序的窗格中删除。我的问题是,如何创建多个标签,每个标签都有自己的Worker线程,并在完成标签后将其删除? 提前致谢。 更新: 我希望这可以澄清我的问题。我希望在所有工作人员都完成任务后立即删除所有标签,而不是在每个工作人员都完成之后立即删除。 更新2:

  • 请考虑以下代码片段: 下面是向小程序添加一个标签,该标签显示工作线程的一些中间结果(使用发布/处理方法)。最后,标签将从小程序的窗格中移除。我的问题是,我如何创建几个标签,每个标签都有自己的工作线程,并在全部完成后删除它们? 提前感谢。 更新: 我希望这能澄清我的问题。我希望在所有工人完成任务后,而不是在每个工人完成任务后立即移除所有标签。 更新2: 下面的代码似乎正在做我需要的事情。请评论我的做

  • 问题内容: 如何更改以下代码,以触发两个异步操作并有机会同时运行? 我需要做这样的事情吗? 问题答案: TL; DR 不要在获得承诺的问题中使用模式,而是分别等待它们;而是使用(至少现在): 虽然您的解决方案 确实 并行运行这两个操作,但如果两个诺言都被拒绝,它就无法正确处理拒绝。 细节: 您的解决方案并行运行它们,但始终等待第一个完成,然后再等待第二个。 如果您只想启动它们,并行运行它们,并获得

  • 问题内容: 我如何更改以下代码,以触发两个异步操作并有机会同时运行? 我需要做这样的事情吗? 问题答案: TL; DR 不要在获得承诺的问题中使用模式,而是分别等待它们;而是使用(至少现在): 虽然您的解决方案确实并行运行这两个操作,但是如果两个诺言都被拒绝,它就无法正确处理拒绝。 细节: 您的解决方案并行运行它们,但始终等待第一个完成,然后再等待第二个。如果您只想启动它们,并行运行它们,并获得两

  • 我想运行相同类型的任务(工作线程),但一次不超过一定数量的任务。当任务完成时,其结果是新任务的输入,然后可以启动该任务。 有没有好的方法可以在C 11中使用异步/未来范式来实现这一点? 乍一看,它看起来很简单,你只是生成多个任务: 然后,运行以获取任务的异步结果。 然而,这里的问题是,未来的对象必须存储在某种队列中并一个接一个地等待。但是,可以一遍又一遍地迭代未来的对象,检查它们中的任何一个是否准