Java GUI工资计算器输出结果缺失?详解及修复方法在此!
- 内容介绍
- 文章标签
- 相关推荐
本文共计647个文字,预计阅读时间需要3分钟。
原文:
在您提供的Java代码中,程序逻辑本身是正确的:它成功读取了用户输入的月工资和每周工时,也正确计算了年工资(monthlywage * 12)和时薪(yearlywage / (weeklyhours * 52))。问题出在输出环节——您调用了 JOptionPane.showMessageDialog,但传入的只是纯文本字符串,例如 "You make this much per year",而没有将计算结果变量 yearlywage 和 hourlywage 嵌入到提示信息中。因此对话框只显示静态文字,数字值被完全忽略。
要修复该问题,最直接的方式是使用字符串拼接,将变量值动态加入提示消息:
// 正确的输出方式:用 + 运算符连接字符串与数值 JOptionPane.showMessageDialog(null, "You make this much per year: $" + yearlywage); JOptionPane.showMessageDialog(null, "You make this much per hour: $" + hourlywage);
注意:Java会自动将整数(如 yearlywage)转换为字符串进行拼接,无需额外处理。为提升可读性,建议添加单位符号(如 $)和冒号,并确保变量在调用前已完成赋值(您的代码中已满足此条件)。
本文共计647个文字,预计阅读时间需要3分钟。
原文:
在您提供的Java代码中,程序逻辑本身是正确的:它成功读取了用户输入的月工资和每周工时,也正确计算了年工资(monthlywage * 12)和时薪(yearlywage / (weeklyhours * 52))。问题出在输出环节——您调用了 JOptionPane.showMessageDialog,但传入的只是纯文本字符串,例如 "You make this much per year",而没有将计算结果变量 yearlywage 和 hourlywage 嵌入到提示信息中。因此对话框只显示静态文字,数字值被完全忽略。
要修复该问题,最直接的方式是使用字符串拼接,将变量值动态加入提示消息:
// 正确的输出方式:用 + 运算符连接字符串与数值 JOptionPane.showMessageDialog(null, "You make this much per year: $" + yearlywage); JOptionPane.showMessageDialog(null, "You make this much per hour: $" + hourlywage);
注意:Java会自动将整数(如 yearlywage)转换为字符串进行拼接,无需额外处理。为提升可读性,建议添加单位符号(如 $)和冒号,并确保变量在调用前已完成赋值(您的代码中已满足此条件)。

