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

Java计算器点击ADD报错NumberFormatException:输入字符串为空

Java计算器项目:NumberFormatException与加法功能修复方案

报错原因

你遇到的NumberFormatException就是这段代码引发的——当Integer.parseInt()接收到**空格字符串("")**时,无法将其转换为整数,直接抛出异常。大概率是文本框里残留了空格,或者用户输入时不小心加了空格,你没有做任何处理就直接转换了。另外你的代码里漏写了Integer类名,正确的方法应该是Integer.parseInt(),这个语法问题也得修正。

修复方案

你的核心思路(转成整数再相加)是对的,只需要加上输入预处理、校验和异常捕获,同时完善Clear按钮的功能:

1. ADD按钮修正代码

// ADD按钮的点击事件处理代码
String no1 = jTextField1.getText().trim(); // 去除前后空白字符
String no2 = jTextField2.getText().trim();

// 先校验输入是否为空
if (no1.isEmpty() || no2.isEmpty()) {
    jTextField3.setText("请输入有效数字");
    return;
}

try {
    int num1 = Integer.parseInt(no1);
    int num2 = Integer.parseInt(no2);
    int answer = num1 + num2;
    jTextField3.setText(String.valueOf(answer));
} catch (NumberFormatException e) {
    // 处理非整数输入的情况
    jTextField3.setText("输入必须是整数");
}

2. Clear按钮实现代码

// Clear按钮的点击事件处理代码
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");

关键细节说明

  • trim()方法:会去除字符串前后的所有空白字符(空格、换行、制表符等),避免因为误输入的空格导致转换失败。
  • 空值校验:提前拦截空白输入,不用走到转换步骤就给出提示。
  • try-catch捕获异常:如果用户输入了字母、小数这类非整数内容,程序不会直接崩溃,而是友好提示错误。

内容的提问来源于stack exchange,提问作者lil' dude

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 13:53:11