nextDouble() throws an InputMismatchException when I enter a double

倾然丶 夕夏残阳落幕 提交于 2019-11-27 02:10:33

It might be locale dependent. Decimal numbers are e.g written as 0,5 in Sweden.

Change your code so that it says e.g.:

Scanner scan = new Scanner(System.in);
scan.useLocale(Locale.US);
Chelton
This worked for me, changing the locale did not.

  Scanner sc = new Scanner(System.in);
  // val = sc.nextDouble(); - crashes with java.util.NoSuchElementException
  // If Java crashes with legal Java code, wrap the call in a hasNextLine() test
  if (sc.hasNextLine())
  {
    val = sc.nextDouble();
  }

java.util.NoSuchElementException: No line found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!