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

java双值输入不匹配?

石正信
2023-03-14

所以我在学习java,两天来我一直在寻找这个问题的解决方案。我尝试了所有的十进制分隔符,并试图设置语言环境,结果发现它不起作用。

代码:

输出和错误

共有2个答案

苏星宇
2023-03-14

尝试使用scanner.nextLine()方法来读取double值。但是prefferd方法scanner.nextDouble()用于double值。如果您要点击enter并为new line此方法将不起作用,因此u可以使用scanner.nextLine();希望这将解决您的问题。

你也可以在youtube上查看我的java教程。https://www.youtube.com/channel/UCY1nXxsoddSnQFJPfjCFuxg/videos

萧和平
2023-03-14

尝试添加对扫描仪的调用。nextLine()在调用扫描仪之后。nextInt()扫描仪。nextDouble()。后两种扫描方法不会消耗按Enter键时产生的新行字符,因此我的假设是,当您调用扫描程序时。nextDouble()它最终会吃掉\n换行符,并导致输入不匹配异常。

TLDR:根据经验,在您使用scanner.nextInt()scanner.nextDouble()之后,您应该始终使用scanner.nextLine()以确保扫描仪缓冲区清除。

 类似资料:
  • (更新的代码)无论出于什么原因,InputMismatchException的catch块无法正常工作。当代码抛出此错误时,catch块不会捕获它。有人知道为什么会这样吗?

  • 我是ANTLR的新手。我想写一个语法来解析下面的输入: 语法如下:: 当我尝试使用语法解析上述输入时,它会引发以下异常:: 第1行:0不匹配的输入'commit a1b2c3d4',应为'commit' 我已经引用了ANTLR4:不匹配的输入链接,但仍然不清楚发生了什么。

  • 编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答问题。 (更新的代码)无论出于什么原因,InputMismatchException的catch块无法正常工作。当代码抛出此错误时,catch块不会捕获它。有人知道为什么会这样吗?

  • 有点麻烦。 基本上,我得到了输入行 5,4,5 8,7=6,3 3,2 9,6 4,3=7,6=9,8=5,5 7,8 6,5 6,4

  • 我有这个代码,我想捕捉字母异常,但它一直有以下错误: 这是我的代码:

  • 我对闪身是个新手。我正在尝试使用Flink1.3.2从我们的Kinesis流中读取并将输出写入一个Cassandra表。该程序能够从Kinesis流式传输数据。 提前道谢!