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

Java四则运算程序异常:减法、乘法始终返回0.0求助

问题分析与修复方案

你的问题根源在于Calculator类中运算分支的判断字符和用户输入提示的字符不匹配:

  • 程序提示用户输入s代表减法(subtract)、m代表乘法(multiply),但你的Calculator类里,减法判断的是"b",乘法判断的是"c"
  • 当用户输入s或m时,所有分支都不匹配,sum变量会保持默认的初始值0.0,所以减法和乘法始终返回0.0

修复步骤

修改Calculator类里的判断条件,把减法的"b"改成"s",乘法的"c"改成"m"即可:

public class Calculator {
 //variables
 private double num1;
 private double num2;
 private double sum;

 //combined method
 public double doMaths(double sum1, double sum2, String operation){
     num1=sum1;
     num2=sum2;
     if(operation.equalsIgnoreCase("a")){
          sum=num1+num2;
     } 
     else if(operation.equalsIgnoreCase("s")){ // 从"b"改为"s"
         sum=num1-num2;
     }
     else if(operation.equalsIgnoreCase("m")){ // 从"c"改为"m"
         sum=num1*num2;
     }
     else if(operation.equalsIgnoreCase("d")){
         sum=num1/num2;
     }
     return sum;
 }
}

额外建议

可以在分支最后加上默认处理,避免用户输入无效字符时返回意外的0.0:

else {
    JOptionPane.showMessageDialog(null, "输入的运算符号无效,请输入a/s/m/d");
    return Double.NaN; // 用NaN标记无效结果
}

内容的提问来源于stack exchange,提问作者SpackJarrow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:54:53