Java二级操作题第1套
基本操作
在考生文件夹中存有文件名为Java_l.java的文件。
该程序的功能是:在对话框中打印如下结果:
Java_l.java是不完整的,请在注释行“//Found”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
import javax.swing.JOptionPane; //导入JOptionPane类
public class Java_1 {
public static void main( String args[] )
{
//*********Found********
____________________________________(
null, "欢迎\n你\n参加\nJava\n考试!" );
System.exit( 0 ); // 结束程序
}
}
/* JOptionPane类的常用静态方法如下:
showInputDialog()
showConfirmDialog()
showMessageDialog()
showOptionDialog()
*/
本题使用的实例是显示MessageDialog,格式如下:
JOptionPane.showMessageDialog(null, “在对话框内显示的描述性的文字”, “标题条文字串”, JOptionPane.ERROR_MESSAGE);
具体程序如下:
点击查看代码
import javax.swing.JOptionPane; //导入JOptionPane类
public class Java_1 {
public static void main( String args[] )
{
//*********Found********
JOptionPane.showMessageDialog(
null, "欢迎\n你\n参加\nJava\n考试!" );
System.exit( 0 ); // 结束程序
}
}
/* JOptionPane类的常用静态方法如下:
showInputDialog()
showConfirmDialog()
showMessageDialog()
showOptionDialog()
*/
本题考查的是JOptionPane类。
Swing中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能,利用JOptionPane类中的各个static方法来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能。这些对话框都是模式对话框,可以采用showXXXDialog()来显示,如showConfirmDialog()显示确认对话框、showInputDialog()显示输入文本对话框、showMessageDialog()显示信息对话框、showOptionDialog()显示选择性的对话框。
简单应用
在考生文件夹中存有文件名为Java_2.java的文件。
该程序的功能是:产生一个0到20之间的随机整数,然后计算并打印它的阶乘。提示:一个正整数n的阶乘等于所有1到n的乘积,即n!=123…n。
该程序是不完整的,请在注释行“//Found”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
import java.util.Random;
public class Java_2
{
public static void main(String args[]){
Random random = new Random();
float x = random.nextFloat();//产生0.0与1.0之间的一个符点数
int n = Math.round(20*x); //构造20以内的一个整数
long f = 1 ; //保存阶乘的结果
int k = 1 ; //循环变量
//*********Found********
do{__________;
k++;
//*********Found********
}__________
System.out.println(n+"!= "+f);
}
}
本题考查的是do-while语句。
由于n!=123*…n,所以可用循环来求得阶乘的结果。在本题已出现do,故用do-whkle循环,又因为本题在定义变量时用f来保存阶乘的结果,k表示循环变量。故本题所填循环体为:f=fk和判断条件为:while(n>=k)。
具体程序如下:
点击查看代码
import java.util.Random;
public class Java_2
{
public static void main(String args[]){
Random random = new Random();
float x = random.nextFloat();//产生0.0与1.0之间的一个符点数
int n = Math.round(20*x); //构造20以内的一个整数
long f = 1 ; //保存阶乘的结果
int k = 1 ; //循环变量
//*********Found********
do{f*=k;
k++;
//*********Found********
}while(k<=n);
System.out.println(n+"!= "+f);
}
}
综合应用
在考生文件夹中存有文件名为Java_3.java的文件。
该程序的功能是:实现整数除法计算,要求在出现异常时,能抛出异常信息。考虑两种异常:
该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
import java.text.DecimalFormat;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//*********Found********
public class Java_3 extends ________ implements ActionListener {
private JTextField input1, input2, output;
private int number1, number2;
private double result;
// 初始化
public Java_3()
{
//*********Found********
______( "示范异常" );
Container c = getContentPane();
c.setLayout( new GridLayout( 3, 2 ) );
c.add( new JLabel( "输入分子",
SwingConstants.RIGHT ) );
input1 = new JTextField( 10 );
c.add( input1 );
c.add(
new JLabel( "输入分母和回车",
SwingConstants.RIGHT ) );
input2 = new JTextField( 10 );
c.add( input2 );
input2.addActionListener( this );
c.add( new JLabel( "计算结果", SwingConstants.RIGHT ) );
output = new JTextField();
c.add( output );
setSize( 425, 100 );
show();
}
//处理 GUI 事件
public void actionPerformed( ActionEvent e )
{
DecimalFormat precision3 = new DecimalFormat( "0.000" );
output.setText( "" ); // 空的JTextField输出
//*********Found********
___________ {
number1 = Integer.parseInt( input1.getText() );
number2 = Integer.parseInt( input2.getText() );
result = quotient( number1, number2 );
//*********Found********
output.setText(_______________________________);
}
catch ( NumberFormatException nfe ) {
JOptionPane.showMessageDialog( this,
"你必须输入两个整数",
"非法数字格式",
JOptionPane.ERROR_MESSAGE );
}
catch ( Exception dbze ) {
//*********Found********
_______________________________( this,
"除法异常",
"除数为零",
JOptionPane.ERROR_MESSAGE );
}
}
// 定义求商的方法,如遇除数为零时,能抛出异常。
public double quotient( int numerator, int denominator )
throws Exception
{
if ( denominator == 0 )
throw new Exception();
return ( double ) numerator / denominator;
}
public static void main( String args[] )
{
Java_3 app = new Java_3();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
e.getWindow().dispose();
System.exit( 0 );
}
}
);
}
}
/* JOptionPane类的常用静态方法如下:
showInputDialog()
showConfirmDialog()
showMessageDialog()
showOptionDialog()
*/
本题考查的是对话框的综合应用。
1)本题首先继承了JFrame类和实现了ActionListener接口,程序中用super( “示范异常” );调用了JFrame类的构造函数,用于显示文本框的标题栏。另外实现了ActionListener接口的actionPerformed方法,用于处理GUI事件。
2)在Java中浮点数包括基本型float、double,以及对象包装类型的Float和Double,对于这些浮点数的输出,输出格式都是按照如下规则进行的:
如果绝对值大于0.001、小于10000000,那么就以常规的小数形式表示。
如果在上述范围之外,则使用科学计数法表示。即类似于1.234E8的形式。
所以Java中浮点数默认的表示形式统一为普通小数形式输出的问题,可以使用java.text.DecimalFormat进行转换,例如本题中DecimalFormat
precision3 = new DecimalFormat( “0.000” )是用于保留3位小数。
3)本题还考查了使用showMessageDialog()显示信息对话框,格式如下:
JOptionPane.showMessageDialog(null, “在对话框内显示的描述性的文字”, “标题条文字串”, JOptionPane.ERROR_MESSAGE);
4)对于本题的改错方面,主要是需要熟悉包中的类。例如本题中出现JFrame类,就必须包含javax.swing.*;
具体程序及其语句解释如下:
点击查看代码
import java.text.DecimalFormat;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//*********Found********
public class Java_3 extends JFrame implements ActionListener {
private JTextField input1, input2, output;
private int number1, number2;
private double result;
// 初始化
public Java_3() {
//*********Found********
super( "示范异常" );
Container c = getContentPane();
c.setLayout( new GridLayout( 3, 2 ) );
c.add( new JLabel( "输入分子",
SwingConstants.RIGHT ) );
input1 = new JTextField( 10 );
c.add( input1 );
c.add(
new JLabel( "输入分母和回车",
SwingConstants.RIGHT ) );
input2 = new JTextField( 10 );
c.add( input2 );
input2.addActionListener( this );
c.add( new JLabel( "计算结果", SwingConstants.RIGHT ) );
output = new JTextField();
c.add( output );
setSize( 425, 100 );
show();
}
//处理 GUI 事件
public void actionPerformed( ActionEvent e ) {
DecimalFormat precision3 = new DecimalFormat( "0.000" );
output.setText( "" ); // 空的JTextField输出
//*********Found********
try{
number1 = Integer.parseInt( input1.getText() );
number2 = Integer.parseInt( input2.getText() );
result = quotient( number1, number2 );
//*********Found********
output.setText(precision3.format(result));
} catch ( NumberFormatException nfe ) {
JOptionPane.showMessageDialog( this,
"你必须输入两个整数",
"非法数字格式",
JOptionPane.ERROR_MESSAGE );
} catch ( Exception dbze ) {
//*********Found********
JOptionPane.showMessageDialog( this,
"除法异常",
"除数为零",
JOptionPane.ERROR_MESSAGE );
}
}
// 定义求商的方法,如遇除数为零时,能抛出异常。
public double quotient( int numerator, int denominator )
throws Exception {
if ( denominator == 0 )
throw new Exception();
return ( double ) numerator / denominator;
}
public static void main( String args[] ) {
Java_3 app = new Java_3();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e ) {
e.getWindow().dispose();
System.exit( 0 );
}
}
);
}
}
/* JOptionPane类的常用静态方法如下:
showInputDialog()
showConfirmDialog()
showMessageDialog()
showOptionDialog()
*/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!