Java二级操作题第32套

基本操作

在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:
完善程序,使程序运行后输出窗口如下:

import javax.swing.*;
import java.text.DecimalFormat;

public class Java_1{
//*********Found**********
   public static ___________________ main( String args[] ){
      SimpleTime t = new SimpleTime( 12, 30, 19 );
//*********Found**********
      ___________________.showMessageDialog( null, t.buildString(),
         " \"this\" 引用示范",
         JOptionPane.INFORMATION_MESSAGE );
      System.exit( 0 );
   }
}

class SimpleTime {
   private int hour, minute, second;   
   public SimpleTime( int hour, int minute, int second ){
      this.hour = hour;
      this.minute = minute;
      this.second = second;
   }

   public String buildString(){
//*********Found**********
      return "this.toString(): " + ___________________() +
             "\ntoString(): " + toString() +
             "\nthis (with implicit toString() call): " +
             this;
   }

   public String toString(){
      DecimalFormat twoDigits = new DecimalFormat( "00" );    
      return twoDigits.format( this.hour ) + ":" +
             twoDigits.format( this.minute ) + ":" +
             twoDigits.format( this.second );
   }
}

本题考查的是JavaSwing。
Main方法是无返回类型,所以第一空填写"void"。 showMessageDialog是创建一个提示框,是JOptionPane下面的静态方法,所以第二空填写"JOptionPane"。
根据题目图片展示,提示内容需要换行并且跟上toString,所以第三空填写"toString"。

具体程序如下:

import javax.swing.*;
import java.text.DecimalFormat;

public class Java_1{
//*********Found**********
   public static void main( String args[] ){
      SimpleTime t = new SimpleTime( 12, 30, 19 );
//*********Found**********
      JOptionPane.showMessageDialog( null, t.buildString(),
         " \"this\" 引用示范",
         JOptionPane.INFORMATION_MESSAGE );
      System.exit( 0 );
   }
}

class SimpleTime {
   private int hour, minute, second;   
   public SimpleTime( int hour, int minute, int second ){
      this.hour = hour;
      this.minute = minute;
      this.second = second;
   }

   public String buildString(){
//*********Found**********
      return "this.toString(): " + this.toString() +
             "\ntoString(): " + toString() +
             "\nthis (with implicit toString() call): " +
             this;
   }

   public String toString(){
      DecimalFormat twoDigits = new DecimalFormat( "00" );    
      return twoDigits.format( this.hour ) + ":" +
             twoDigits.format( this.minute ) + ":" +
             twoDigits.format( this.second );
   }
}

简单应用

在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:
完善程序,使程序显示对话框如下:

并在命令行中每隔10秒显示一下当前时间(如下图),直至用户在对话框按下确认按钮后退出。

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;

public class Java_2{
  public static void main(String[] args){
//*********Found**********
    ActionListener listener = new __________________();
    Timer t = new Timer(10000, listener);
    t.start();
    JOptionPane.showMessageDialog(null, "退出程序吗?");
    System.exit(0);
  }
}

//*********Found**********
class TimePrinter ___________________ ActionListener{
//*********Found**********
  public void actionPerformed(___________________ event){
    Date now = new Date();
    System.out.println("At the tone, the time is " + now);
    Toolkit.getDefaultToolkit().beep();
  }
}

本题考查的是JavaSwing。
根据代码上下文可知,TimePrinter是一个事件监听器类,用来输出当前时间,所以第一空填写"TimePrinter"。
ActionListener是接口,所以第二空填写"implements"。
actionPerformed方法的参数是ActionEvent,所以第三空填写"ActionEvent"。

具体程序如下:

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;

public class Java_2{
  public static void main(String[] args){
//*********Found**********
    ActionListener listener = new TimePrinter();
    Timer t = new Timer(10000, listener);
    t.start();
    JOptionPane.showMessageDialog(null, "退出程序吗?");
    System.exit(0);
  }
}

//*********Found**********
class TimePrinter implements ActionListener{
//*********Found**********
  public void actionPerformed(ActionEvent event){
    Date now = new Date();
    System.out.println("At the tone, the time is " + now);
    Toolkit.getDefaultToolkit().beep();
  }
}

综合应用

在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:
由用户输入两个浮点数求和,程序先显示输入如下:

输入两个浮点数后,小程序窗口显示结果如:

import java.awt.Graphics;   
import javax.swing.*;       

//*********Found**********
public class Java_3 extends ____________________ {
   double sum;  //存和的变量
//*********Found**********
   public void __________________(){
      String firstNumber,   //输入第1个字符串格式的数
             secondNumber;  //输入第2个字符串格式的数
      double number1,       //加数
             number2;       //被加数
      //读入第1个输入的数
      firstNumber =
         JOptionPane.showInputDialog(
            "Enter first floating-point value" );
      //读入第2个输入的数 
      secondNumber =
         JOptionPane.showInputDialog(
            "Enter second floating-point value" );
      //将字符串数据转换成双字长类型
      number1 = Double.parseDouble( firstNumber ); 
      number2 = Double.parseDouble( secondNumber );
      //数据相加
      sum = number1 + number2;
   }
   public void paint( Graphics g )   {
      //用g.drawString给结果
      g.drawRect( 15, 10, 270, 20 );
      g.drawString( "数相加之和为:" + sum, 25, 25 );
   }
}
<html>
//*********Found**********
<applet code="_________________.class" width=300 height=50>
</applet>
</html>

本题考查的是Applet。
根据题意得知,最终要输出的是一个窗口,所以Java_3.java第一空填写"JApplet"。
JApplet的初始化方法为init,所以Java_3.java第二空填写"init"。
Html代码里需要引入Applet时,需要写入类名称,所以Java_3.html第一空填写"Java_3"。

具体程序如下:

import java.awt.Graphics;   
import javax.swing.*;       

//*********Found**********
public class Java_3 extends JApplet {
   double sum;  //存和的变量
//*********Found**********
   public void init(){
      String firstNumber,   //输入第1个字符串格式的数
             secondNumber;  //输入第2个字符串格式的数
      double number1,       //加数
             number2;       //被加数
      //读入第1个输入的数
      firstNumber =
         JOptionPane.showInputDialog(
            "Enter first floating-point value" );
      //读入第2个输入的数 
      secondNumber =
         JOptionPane.showInputDialog(
            "Enter second floating-point value" );
      //将字符串数据转换成双字长类型
      number1 = Double.parseDouble( firstNumber ); 
      number2 = Double.parseDouble( secondNumber );
      //数据相加
      sum = number1 + number2;
   }
   public void paint( Graphics g )   {
      //用g.drawString给结果
      g.drawRect( 15, 10, 270, 20 );
      g.drawString( "数相加之和为:" + sum, 25, 25 );
   }
}
<html>
//*********Found**********
<applet code="Java_3.class" width=300 height=50>
</applet>
</html>
posted @   槑孒  阅读(320)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示