You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java简易计算器无法运行,求故障排查帮助(计算机科学新手)

Java简易计算器故障排查与修复

代码中的核心问题及修复方案

  • 重复创建Scanner对象
    每次输入都实例化新的Scanner会导致输入缓冲区混乱。比如调用nextDouble()后,控制台输入的换行符会残留在缓冲区中,后续的nextLine()会直接读取这个空行,导致运算符输入被跳过。
    修复:只创建一个Scanner实例,复用它处理所有输入。

  • 方法名拼写错误
    代码中charart()是拼写错误,正确的方法名是charAt(0),用于获取输入字符串的第一个字符。这个错误会直接导致编译失败。

  • 缺少默认分支
    当用户输入的运算符不在+、-、*、/范围内时,switch语句没有任何输出,程序行为不明确。
    修复:添加default分支提示用户输入无效运算符。

  • 未处理除数为0的异常
    当第二个数字为0时,除法运算会抛出ArithmeticException,导致程序崩溃。
    修复:在除法分支中添加判断,避免除以0的情况。


修复后的完整代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("Willkommen Beim Taschenrechner!!");
        System.out.println("Bitte gibt die 1.te Zahl ein:");
        double zahl1 = scanner.nextDouble();
        
        // 读取nextDouble残留的换行符,避免后续nextLine读取空内容
        scanner.nextLine();
        
        System.out.println("Bitte gib den Operator ( + , - , * , / ) ein:");
        char operator = scanner.nextLine().trim().charAt(0);
        
        System.out.println("Bitte gib nun die 2.te Zahl ein:");
        double zahl2 = scanner.nextDouble();
        
        switch (operator) {
            case '+' :
                System.out.println(zahl1 + zahl2);
                break;
            case '-' :
                System.out.println(zahl1 - zahl2);
                break;
            case '*' :
                System.out.println(zahl1 * zahl2);
                break;
            case '/' :
                if (zahl2 == 0) {
                    System.out.println("Fehler: Division durch Null ist nicht erlaubt!");
                } else {
                    System.out.println(zahl1 / zahl2);
                }
                break;
            default:
                System.out.println("Ungültiger Operator! Bitte nutze +, -, * oder /.");
        }
        
        scanner.close();
    }
}

内容的提问来源于stack exchange,提问作者Sebastian Kramer Garfias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:34:56