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

Java对话框接收两数并执行算术运算程序编译问题求助

修正你的Java算术运算程序编译错误

咱们一步一步来排查你代码里的编译问题,然后逐个修正:

主要编译错误点及修正方案

  • 注解位置错误:Java的@author注解应该放在类定义的上方,@param注解要放在对应的方法(这里是main方法)上方,不能直接放在import语句后面。
  • 方法运算逻辑错误:div和mul方法里的return xy;是无效语法,除法应该写成x / y,乘法写成x * y。另外注意整数除法会舍去小数部分,如果需要保留小数可以考虑改用double类型。
  • 大小写敏感问题:
    • JOptionPane.ShowInputDialog要改成JOptionPane.showInputDialog(Java方法名遵循小驼峰命名,首字母需小写);
    • ad.tostring()要改成ad.toString()(toString是Object类的标准方法,首字母T必须大写)。
  • 字符串未加引号:Enter 1st number和Enter 2nd number是字符串字面量,必须用双引号包裹,比如"Enter 1st number"。
  • 字符串拼接错误:
    • 换行符n要写成"\n"(带双引号的字符串形式);
    • 结果拼接的末尾多了一个多余的+号,直接删掉即可。
  • 错误使用对话框方法:展示运算结果应该用JOptionPane.showMessageDialog,而不是showInputDialog(后者是用来接收用户输入的)。
  • 冗余代码:private static Object joptionpane;这行没有任何实际作用,直接删除即可。

修正后的完整代码

package javaapplication4;

import javax.swing.JOptionPane;

/**
 * 算术运算程序,接收用户输入的两个整数并展示所有运算结果
 * @author Muhammad Tariq
 */
public class JavaApplication4 {

    static int add(int x, int y) {
        return x + y;
    }

    static int sub(int x, int y) {
        return x - y;
    }

    static int div(int x, int y) {
        // 添加除零判断,避免运行时异常
        if (y == 0) {
            JOptionPane.showMessageDialog(null, "除数不能为0!");
            return 0;
        }
        return x / y;
    }

    static int mul(int x, int y) {
        return x * y;
    }

    /**
     * 程序入口方法
     * @param args 命令行参数
     */
    public static void main(String[] args) {
        String a, b;
        a = JOptionPane.showInputDialog("Enter 1st number");
        b = JOptionPane.showInputDialog("Enter 2nd number");
        
        // 添加异常处理,避免用户输入非数字导致程序崩溃
        try {
            int num1 = Integer.parseInt(a);
            int num2 = Integer.parseInt(b);
            
            int ad = add(num1, num2);
            int sb = sub(num1, num2);
            int dv = div(num1, num2);
            int ml = mul(num1, num2);
            
            // 格式化结果字符串,提升可读性
            String result = "加法结果:" + ad + "\n"
                          + "减法结果:" + sb + "\n"
                          + "除法结果:" + dv + "\n"
                          + "乘法结果:" + ml;
            
            JOptionPane.showMessageDialog(null, result);
        } catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(null, "请输入有效的整数!");
        }
    }
}

额外优化:我还添加了异常处理(捕获用户输入非数字的情况)和除零判断,避免程序运行时崩溃,让代码更健壮。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:18:11