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

从控制台Java使用扫描仪进行双扫描

郤瀚
2023-03-14

我想从标准输入中读取一个双数,但是我总是得到这个异常:

Java . util . inputmismatchexception

import java.util.Scanner;

public class ScanDouble {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        double d = scan.nextDouble();
        System.out.println("Double: " + d);
    }
}

如果输入是整数,那没问题,但是如果是双精度的,我会得到异常。

线程“main”Java . util . inputmismatchexception Java . util . scanner . throw for(scanner . Java:864)Java . util . scanner . next(scanner . Java:1485)Java . util . scanner . next double(scanner . Java:2413)scan double . main(scan double . Java:10)

共有1个答案

微生俊材
2023-03-14

认为是小数分隔符的问题。尝试输入10,0

如果要使用点扫描值,请将区域设置设置为区域设置 UK:

Scanner scan = new Scanner(System.in);
scan.useLocale(Locale.UK);
double d = scan.nextDouble();
System.out.println("Double: " + d);
 类似资料:
  • 问题内容: 我有此方法,并且从控制台(键盘)读取了一个整数序列,并将所有整数添加到ArrayList中,我使用Scanner类读取了这些数字,但是在for循环中不起作用,它抛出“ java.util.NoSuchElementException”。 问题答案: 首先,使用一个扫描仪,而不是每次都重新创建一个扫描仪。此外,您的for循环还会多循环一次。 这对我来说很好,最后列表包含了我输入的所有数字

  • 问题内容: 嗨,我是新手,我想知道在控制台中读取用户Input的最佳选择是什么,据我所知有3种方法可以做到: 我应该选择哪一个?为什么选择一个而不选择另一个? 问题答案: 缓冲读取器 从Java 1.1开始 引发检查异常 可以读取字符,字符数组和行 快速 扫描器 从Java 1.5开始 不抛出检查异常 可以读取行,空格分隔的标记,正则表达式分隔的标记和数字 难以阅读单个字符 安慰 从Java 1.

  • 问题内容: 编辑 以便进一步阅读:问题是我的输入文件已损坏。 我不明白我在做什么错: 我正在使用此代码: 哪个工作正常。现在,由于某种原因,我想换一个扫描仪。我的代码变成: 这次,我们从不输入while,因为r.hasNextLine()始终返回“ false”。关于我在做什么错的任何想法吗? 我精确地说,没有其他更改,文件仍然相同。 编辑 :我还精确地我尝试了另一个文件,并得到相同的结果,这意味

  • 我正在创建一个小算法,这是其中的一部分。 如果用户输入非整数值,我想输出一条消息,让用户再次输入一个数字: 我得到了一个永无止境的循环,我不知道为什么。 如果用户输入非整数数字,我如何识别? 如果用户输入非整数数字,我如何要求用户再次输入? 更新 当我打印异常时,我得到了InputMismatchExctive,我应该怎么做?

  • 我试图通过使用命令“java postfix 错误: 请在java.util.scanner.throwfor(未知源) 在java.util.scanner.next(未知源) 在java.util.scanner.nextInt(未知源) 在java.util.scanner.nextInt(未知源) 在java.util.scanner.nextInt(未知源) 在java.util.sca

  • 问题内容: 如何将扫描仪的定界符设置为;或换行? 我试过: 但这不起作用。 问题答案: 通常,在模式中,您需要将翻倍。 所以,尝试 要么 编辑 :如果是问题,则可能要尝试以下操作: 它匹配的一个或多个,和。 注意 :我还没有尝试过这些。