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

JOptionPane返回0值而非正确计算结果的Java程序问题

问题解决:薪资计算返回0值的原因及修复

问题根源

Pay类的setBasicRate方法存在参数拼写错误:
原方法中参数写成了basisRate,但赋值给this.basicRate时,实际传入的用户输入值并没有被正确赋值到类的成员变量basicRate上,导致该变量始终保持默认的0值。后续计算时,所有薪资结果都是0乘以其他数值,最终返回0。

修复后的Pay.java代码

public class Pay{//Data members- private
    private double basicHours, otHours, basicRate; // setters
    private double basicPay, otPay, totalPay; //getters
//constructor
    public Pay(){
    }
// Setters - setting the values from main class
    public void setBasicHours (double basicHours){
        this.basicHours = basicHours;
    }
    public void setOtHours (double otHours){
            this.otHours = otHours;
    }
    // 修正参数拼写错误,将basisRate改为basicRate
    public void setBasicRate (double basicRate){
            this.basicRate = basicRate;
    }
// compute method
        public void computePay(){
            basicPay = basicHours * basicRate;
            otPay = otHours * basicRate * 1.5;
            totalPay = basicPay + otPay;
     }
// getters - returning the values to the main class
            public double getBasicPay(){
                return basicPay;
    }
            public double getOtPay(){
                return otPay;
    }
            public double getTotalPay(){
                return totalPay;
    }
} // class

其他说明

PayApp.java代码逻辑没有问题,只需修复Pay类中的拼写错误即可正常计算薪资。修复后,用户输入的基础费率会被正确赋值,computePay方法就能算出正确的薪资结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:33:19