Java 整数比较与对话框交互实战:输入处理与条件判断全解析
一、原题完整代码呈现
以下是计算机二级Java考试中关于整数比较与对话框交互的典型题型,主要考察变量定义、类型转换及程序退出,包含4处需要填写的空白(标记为//*********Found********
):
import javax.swing.JOptionPane;
public class Java_3 {
public static void main( String args[] ){
String firstNumber, //存储第1个输入数据
secondNumber, //存储第2个输入数据
//*********Found********
_____________________; //字符串输出
int number1, //用来比较的第1个int型数据
number2; //用来比较的第2个int型数据
//以字符串格式读输入数据
firstNumber =
JOptionPane.showInputDialog( "请输入第1个整数:" );
secondNumber =
JOptionPane.showInputDialog( "请输入第2个整数:" );
//将字符串转换为int整数
//*********Found********
number1 = Integer.parseInt( __________________________ );
//*********Found********
number2 = Integer.parseInt( __________________________ );
//用空字符串初始化结果变量
result = "";
if ( number1 == number2 )
result = number1 + " == " + number2;
if ( number1 != number2 )
result = number1 + " != " + number2;
if ( number1 < number2 )
result = result + "\n" + number1 + " < " + number2;
if ( number1 > number2 )
result = result + "\n" + number1 + " > " + number2;
if ( number1 <= number2 )
result = result + "\n" + number1 + " <= " + number2;
if ( number1 >= number2 )
result = result + "\n" + number1 + " >= " + number2;
//显示结果
JOptionPane.showMessageDialog(
null, result, "比较结果",
JOptionPane.INFORMATION_MESSAGE);
//*********Found********
___________________.exit( 0 );
}
}
二、空白处逐一解析与解答
1. 第一处空白:定义存储比较结果的字符串变量
答案:result
//*********Found********
result; //字符串输出
解析:
程序需要一个字符串变量存储比较结果(如“3 == 3”“5 > 2”等),后续代码中多次使用result
变量(如result = ""
、result = number1 + " == " + number2
),因此需在此处定义String result
,填写result
。
2. 第二处空白:将第一个输入字符串转换为整数的参数
答案:firstNumber
//*********Found********
number1 = Integer.parseInt( firstNumber );
解析: firstNumber
是通过JOptionPane.showInputDialog
获取的第一个整数的字符串形式,Integer.parseInt
方法需要接收该字符串参数将其转换为int
类型,赋值给number1
,因此填写firstNumber
。
3. 第三处空白:将第二个输入字符串转换为整数的参数
答案:secondNumber
//*********Found********
number2 = Integer.parseInt( secondNumber );
解析:
类似第二处,secondNumber
是第二个整数的字符串输入,需通过Integer.parseInt
转换为int
类型并赋值给number2
,因此填写secondNumber
。
4. 第四处空白:程序退出的类名
答案:System
//*********Found********
System.exit( 0 );
解析: exit(0)
是java.lang.System
类的静态方法,用于终止当前运行的Java虚拟机(程序退出)。调用该方法需通过System
类名,因此填写System
。
三、完整正确代码
四、程序功能与运行说明
程序功能
该程序通过对话框与用户交互,实现两个整数的全面比较,核心功能包括:
- 弹出输入对话框,接收用户输入的两个整数(以字符串形式)
- 将输入的字符串转换为整数类型(
int
) - 通过6种比较运算符(
==
、!=
、<
、>
、<=
、>=
)判断两数关系 - 将所有成立的关系以字符串形式拼接,通过消息对话框展示结果
- 程序运行结束后正常退出
运行说明
输入阶段:
- 程序启动后,首先弹出输入框“请输入第1个整数:”,用户输入第一个整数(如
5
) - 接着弹出第二个输入框“请输入第2个整数:”,用户输入第二个整数(如
3
)
- 程序启动后,首先弹出输入框“请输入第1个整数:”,用户输入第一个整数(如
转换与比较:
- 输入的字符串“5”和“3”分别通过
Integer.parseInt
转换为整数5
和3
- 程序通过6个
if
语句判断关系,成立的关系会被拼接到result
中
- 输入的字符串“5”和“3”分别通过
结果展示:
消息对话框标题为“比较结果”,内容为所有成立的关系:
5 != 3 5 > 3 5 >= 3
程序退出:
- 点击对话框“确定”按钮后,程序通过
System.exit(0)
终止运行
- 点击对话框“确定”按钮后,程序通过
五、核心知识点总结
对话框交互(JOptionPane)
- 输入对话框:
JOptionPane.showInputDialog(String message)
用于获取用户输入,返回值为String
类型(即使输入数字也以字符串存储) - 消息对话框:
JOptionPane.showMessageDialog(Component parent, Object message, String title, int messageType)
用于展示结果,本例中parent
为null
(无父组件),messageType
为信息图标
- 输入对话框:
字符串与整数的转换
- 核心方法:
Integer.parseInt(String s)
将数字字符串转换为int
类型(若字符串非数字格式,会抛出NumberFormatException
) - 转换意义:输入的原始数据是字符串,必须转换为数值类型才能进行比较运算
- 核心方法:
条件判断与字符串拼接
- 比较运算符:
==
(等于)、!=
(不等于)、<
(小于)、>
(大于)、<=
(小于等于)、>=
(大于等于)用于判断两数关系 - 字符串拼接:通过
+
运算符将整数与字符串(如" == "
)拼接,形成可读性强的结果文本;\n
表示换行,使结果更清晰
- 比较运算符:
程序退出
System.exit(0)
:终止Java虚拟机(JVM),参数0
表示正常退出(非0表示异常退出)- 必要性:Swing程序中,若未显式退出,可能因后台线程导致程序无法完全终止,
System.exit(0)
确保程序彻底结束
六、常见错误与应试技巧
常见错误分析
- 第一处空白变量名错误:写成其他名称(如
output
),导致后续result
变量未定义(编译报错) - 第二/三处空白转换参数错误:参数写反(
secondNumber
给number1
)或写成变量名拼写错误(如firstNum
) - 第四处空白退出类名错误:写成
JOptionPane.exit
(exit
是System
的方法,非JOptionPane
)或system
(Java区分大小写,需大写S
)
- 第一处空白变量名错误:写成其他名称(如
应试技巧
- 变量定义:“结果字符串叫result,前面声明后面用,类型String不能忘,前后一致才正确”
- 类型转换:“输入字符串转整数,Integer.parseInt来帮助,参数就是输入串,first对应number1,second对应number2”
- 程序退出:“程序结束要退出,System.exit(0)记清楚,0是正常退出码,虚拟机终止靠它促”
- 调试提示:若转换时报错,检查输入是否为纯数字(如含字母则无法转换);若结果异常,检查比较运算符是否正确
通过本题,我们掌握了对话框输入输出、字符串与整数转换、多条件判断及程序退出的综合技能。这类题型是“用户交互+数据处理”模式的典型体现,对理解Java基础语法与简易GUI结合的应用具有重要意义。