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!=123n。
该程序是不完整的,请在注释行“//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()
 */
posted @   槑孒  阅读(688)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示