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
相关产品推荐
相关产品推荐

