Java二级操作题第4套

基本操作

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

本题的要求是:

请完善程序,并进行调试,使程序输出结果如下:

//*********Found**********
import javax.________________.JOptionPane;

public class Java_1{
   public static void main( String args[] ){
      String s1, s2, s3, s4, output;
      s1 = new String( "hello" );
      s2 = new String( "good bye" );
      s3 = new String( "Happy Birthday" );
      s4 = new String( "happy birthday" );
      output = "s1 = " + s1 + "\ns2 = " + s2 +
               "\ns3 = " + s3 + "\ns4 = " + s4 + "\n\n";
      //测试字符串相等
      if ( s1.equals( "hello" ) )
         //*********Found**********
         output = output + "_________________________";
      else
         output = output + "s1 does not equal \"hello\"\n"; 
      //用==测试相等
      if ( s1 == "hello" )
         output += "s1 equals \"hello\"\n";
      else
         output += "s1 does not equal \"hello\"\n";
      //忽略字符格式测试相等
      if ( s3.equalsIgnoreCase( s4 ) )
         output += "s3 equals s4\n";
      else
         output += "s3 does not equal s4\n";
      //内容比较
      output +=
         "\ns1.compareTo( s2 ) is " + s1.compareTo( s2 ) +
         "\ns2.compareTo( s1 ) is " + s2.compareTo( s1 ) +
         "\ns1.compareTo( s1 ) is " + s1.compareTo( s1 ) +
         "\ns3.compareTo( s4 ) is " + s3.compareTo( s4 ) +
         "\ns4.compareTo( s3 ) is " + s4.compareTo( s3 ) +
         "\n\n";
      //测试包含字符格式的域匹配
      if ( s3.regionMatches( 0, s4, 0, 5 ) )
         output += "First 5 characters of s3 and s4 match\n";
      else
         output +=
            "First 5 characters of s3 and s4 do not match\n";
      //忽略字符格式的域匹配
      if ( s3.regionMatches( true, 0, s4, 0, 5 ) )
         output += "First 5 characters of s3 and s4 match";
      else
         output +=
            "First 5 characters of s3 and s4 do not match";
      //*********Found**********
      JOptionPane.______________________( null, output,
         "字符串构造方法示例",
         JOptionPane.INFORMATION_MESSAGE );
    System.exit( 0 );
  }  
}

本题考查的是字符串变量和JOptionPane对话框。
javax.swing是sun为我们提供的一个包,包中有一个类叫JoptionPane。所以第一空填swing。
由结果可知,程序在完成s1,s2,s3,s4字符串输出后,第二段第一行输出内容为:s1 equals “hello”,所以第二空应该填"s1 equals “hello”\n";
第三个空考的是JOptionPane对话框的相关知识。根据对话框的用途,可以将JOptionPane对话框分为4种类型:
1)showMessageDialog:向用户显示一些消息。
2)showConfirmDialog:问一个要求确认的问题并得到yes/no/cancel响应。
3)showInputDialog:提示用户进行输入。
4)showOptionDialog:可选择的对话框。 根据对话框类型为"INFORMATION_MESSAGE",可以确定,第三空填"showMessageDialog"。
具体程序如下:

//*********Found**********
import javax.swing.JOptionPane;

public class Java_1{
   public static void main( String args[] ){
      String s1, s2, s3, s4, output;
      s1 = new String( "hello" );
      s2 = new String( "good bye" );
      s3 = new String( "Happy Birthday" );
      s4 = new String( "happy birthday" );
      output = "s1 = " + s1 + "\ns2 = " + s2 +
               "\ns3 = " + s3 + "\ns4 = " + s4 + "\n\n";
      //测试字符串相等
      if ( s1.equals( "hello" ) )
         //*********Found**********
         output = output + " equals \"hello\"\n";
      else
         output = output + "s1 does not equal \"hello\"\n"; 
      //用==测试相等
      if ( s1 == "hello" )
         output += "s1 equals \"hello\"\n";
      else
         output += "s1 does not equal \"hello\"\n";
      //忽略字符格式测试相等
      if ( s3.equalsIgnoreCase( s4 ) )
         output += "s3 equals s4\n";
      else
         output += "s3 does not equal s4\n";
      //内容比较
      output +=
         "\ns1.compareTo( s2 ) is " + s1.compareTo( s2 ) +
         "\ns2.compareTo( s1 ) is " + s2.compareTo( s1 ) +
         "\ns1.compareTo( s1 ) is " + s1.compareTo( s1 ) +
         "\ns3.compareTo( s4 ) is " + s3.compareTo( s4 ) +
         "\ns4.compareTo( s3 ) is " + s4.compareTo( s3 ) +
         "\n\n";
      //测试包含字符格式的域匹配
      if ( s3.regionMatches( 0, s4, 0, 5 ) )
         output += "First 5 characters of s3 and s4 match\n";
      else
         output +=
            "First 5 characters of s3 and s4 do not match\n";
      //忽略字符格式的域匹配
      if ( s3.regionMatches( true, 0, s4, 0, 5 ) )
         output += "First 5 characters of s3 and s4 match";
      else
         output +=
            "First 5 characters of s3 and s4 do not match";
      //*********Found**********
      JOptionPane.showMessageDialog( null, output,
         "字符串构造方法示例",
         JOptionPane.INFORMATION_MESSAGE );
    System.exit( 0 );
  }  
}

简单应用

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

本题的要求是:

创建一个线程,按照从1到5递增的顺序将这两个整数打印出来,使程序的输出结果如下:
x=1,y =1
x=2,y =2
x=3,y =3
x=4,y =4
x=5,y =5

//*********Found**********
public class Java_2 ___________________{ 
   private int x=0; 
   private int y=0; 
 
   public static void main(String[]args){
      Java_2 r = new Java_2();
      //*********Found********** 
      Thread t = new Thread( ___________________ );
      t.start(); 
   }
   public void run() { 
      //*********Found**********
      int ___________________ = 0;
      for(;;){		
         x++; 
         //*********Found**********
         ___________________; 
         k++;
         if (k>5) break;
         System.out.println("x=" + x + ",y ="+ y); 
      }
   }
}

本题考查的是线程的创建。
创建线程有两种方法,实现Runnable接口和继承Thread类,所以第一空可以填"implements Runnable"或"extends Thread";在Java_2类的main()方法中,以Java_2类的实例对象r创建线程t,所以第二空填"r";题面要求"按照从1到5递增的顺序将这两个整数打印出来",所以通过语句"if(k>5) break;“可知通过判断变量k的值,判断for循环是否继续,所以变量k初始值应该为0,第三空填"k”;因为需要按照递增顺序输出x和y两个整数,程序中已经通过语句"x++;"实现了变量x的递增,所以第四空应该填"y++"实现变量y的递增。

具体程序如下:

//*********Found**********
public class Java_2 implements Runnable{ 
   private int x=0; 
   private int y=0; 
 
   public static void main(String[]args){
      Java_2 r = new Java_2();
      //*********Found********** 
      Thread t = new Thread( r);
      t.start(); 
   }
   public void run() { 
      //*********Found**********
      int k = 0;
      for(;;){		
         x++; 
         //*********Found**********
         y++; 
         k++;
         if (k>5) break;
         System.out.println("x=" + x + ",y ="+ y); 
      }
   }
}

综合应用

在考生文件夹中存有文件名为Java_3.java文件,该程序是不完整的,请在注释行"//Found*"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
显示一个带"Welcome to Beijing"标题的天坛风景图片,图片的下方有"The Temple of Heaven"的图片说明。要求考生对Java_3.java进行完善并调试,使程序的运行结果如下:

import java.awt.*;
import javax.swing.*;
public class Java_3{
   public static void main(String[] args){
      BeijingFrame frame = new BeijingFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.show();
   }
}
//*********Found*********
class  _________________   extends JFrame{
   public BeijingFrame(){
      setTitle("Welcome to Beijing");
      Container contentPane = getContentPane();
      BeijingPanel panel = new BeijingPanel();
      contentPane.add(panel);
      pack();
   }
}
class BeijingPanel extends JPanel{
   public BeijingPanel(){
      //*********Found*********
      setLayout(new  _______________  );
      ImageIcon icon = new ImageIcon("tiantan.jpg");
      //*********Found*********
      jLC = new JLabel( _______________ );
      add(jLC, BorderLayout.CENTER);
      lpanel = new JPanel();
      jLS = new JLabel("The Temple of Heaven");
      lpanel.add(jLS);
      add(lpanel, BorderLayout.SOUTH);
   }
   private JLabel jLC;
   private JLabel jLS;
   private JPanel panel;
   private JPanel lpanel;
}

本题考查的是编写图形用户界面。

构造方法是一个类方法中方法名与类名相同的一种特殊的方法,通过语句"public BeijingFrame()“可知,本程序中的构造方法名称为"BeijingFrame”,所以类名应该与构造方法名称相同,也为"BeijingFrame",故第一空填"BeijingFrame"。
通过语句"add(jLC, BorderLayout.CENTER);“和"add(lpanel, BorderLayout.SOUTH);“可知,程序中使用的布局管理器为"BorderLayout”,所以第二空填"BorderLayout()”。

标签(JLabel)的功能与AWT中的Label类似,但是JLabel可以提供带图标的标签,图标和文字的位置是可以控制的。JLabel的构造方法:JLabel(Icon
icon)的功能是创建一个图标为icon的标签,由于程序中已经通过"ImageIcon icon = new
ImageIcon(“tiantan.jpg”);“创建了图像对象icon,在这里需要把图片加入到标签中,所以第三空应该填"icon”。

具体程序如下:

import java.awt.*;
import javax.swing.*;
public class Java_3{
   public static void main(String[] args){
      BeijingFrame frame = new BeijingFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.show();
   }
}
//*********Found*********
class  BeijingFrame   extends JFrame{
   public BeijingFrame(){
      setTitle("Welcome to Beijing");
      Container contentPane = getContentPane();
      BeijingPanel panel = new BeijingPanel();
      contentPane.add(panel);
      pack();
   }
}
class BeijingPanel extends JPanel{
   public BeijingPanel(){
      //*********Found*********
      setLayout(new BorderLayout());
      ImageIcon icon = new ImageIcon("tiantan.jpg");
      //*********Found*********
      jLC = new JLabel( icon );
      add(jLC, BorderLayout.CENTER);
      lpanel = new JPanel();
      jLS = new JLabel("The Temple of Heaven");
      lpanel.add(jLS);
      add(lpanel, BorderLayout.SOUTH);
   }
   private JLabel jLC;
   private JLabel jLS;
   private JPanel panel;
   private JPanel lpanel;
}
posted @   槑孒  阅读(442)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示