繁体   English   中英

JAVA 线程“主”中的计算器异常 java.util.InputMismatchException

[英]JAVA CALCULATOR Exception in thread "main" java.util.InputMismatchException

Exception in thread "main" java.util.InputMismatchException
    at java.base/java.util.Scanner.throwFor(Scanner.java:943)
    at java.base/java.util.Scanner.next(Scanner.java:1598)
    at java.base/java.util.Scanner.nextDouble(Scanner.java:2569)
    at testCalculator.main(testCalculator.java:12)

我正在尝试制作一个工作计算器,它甚至可以读取十进制数,但它不起作用。 一开始它是 integer 唯一有效的计算器,但在 30 分钟内我尝试更改它。 可悲的是我的努力是徒劳的,有人可以帮助我吗? 如何改进这个计算器,让它可以无误地计算十进制数。 非常感谢您的每一个回答!

import java.util.Scanner;

public class testCalculator {
    public static void main(String[] args) {
        Scanner read = new Scanner(System.in);

    while(true){
        System.out.println("First Number");
        double x = read.nextDouble();
        read.nextLine();
        System.out.println("Second Number");
        double y = read.nextDouble();
        read.nextLine();
        System.out.println("What you want to do? + / * - ");
        String z = read.nextLine();

        switch(z){
            case "+":
                System.out.println(x + y);
                break;
            case "-":
                System.out.println(x - y);
                break;

            case "*":
                System.out.println(x * y);
                break;

            case "/":
                System.out.println (x / y);
                break;
            default:
               System.out.println("bruh");
               break;

        }
    }

}

给定语言环境信息 (pl_PL),小数点分隔符是逗号,例如 21,15。

要发现这样的事情,请添加行

System.out.println(java.util.Locale.getDefault());

使用支持的语言环境来查找它

https://www.oracle.com/java/technologies/javase/jdk8-jre8-suported-locales.html

并获取有关语言环境的更多信息:

https://www.localepl.net.com/icu/pl-PL/index.html

并引用“小数点分隔符”值: ,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM