Java二级操作题第38套

基本操作

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

本题的要求是:
完善程序,使程序输出结果如下:
ii= 207 gg= 774
ff=25.132
dd= 2.910410630643368

public class Java_1
{
   //*********Found**********
   public static void main(_________________ args[])
   {
      byte  b = 8;
   //*********Found**********
      ___________  g = 567L;
      float f = 3.1415f;
      double d = 2.789;
      int ii = 207;
      //*********Found**********
      _________________ gg = g+ii;
      float ff = b*f;
      double dd = ff/ii+d;
      //*********Found**********
      System.out.____________("ii= "+ii+" ");
      System.out.println("gg= "+gg);
      System.out.println("ff= "+ff);
      System.out.println("dd= "+dd);
   }
}

本题着重考察考生对java数据类型的理解情况。
本题中的第一个空格:main函数的形参一般写为String args[],因此此处空格填入String;
本题中的第二个空格:567L表示变量类型为long,因此此处空格填入long;
本题中的第三个空格:g的类型为long,ii类型为int,为了保证精度取long类型,因此此处空格填入long;
本题中的第四个空格:程序输出中ii不换行,因此使用System.out.print(),因此此处空格填入print。

本评析仅作参考。

public class Java_1
{
   //*********Found**********
   public static void main(String args[])
   {
      byte  b = 8;
   //*********Found**********
      long  g = 567L;
      float f = 3.1415f;
      double d = 2.789;
      int ii = 207;
      //*********Found**********
      long gg = g+ii;
      float ff = b*f;
      double dd = ff/ii+d;
      //*********Found**********
      System.out.print("ii= "+ii+" ");
      System.out.println("gg= "+gg);
      System.out.println("ff= "+ff);
      System.out.println("dd= "+dd);
   }
}

简单应用

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

本题的要求是:
完成程序,使程序输出结果如下图所示。点击open file按扭,打开文件对话框,选择文件,则文本框中输出所选文件的路径;点击save file按钮,打开文件对话框,在对话框中输入文件名,则文本框中输出保存文件的路径。 

import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.awt.*;

public class Java_2 implements ActionListener {
    private JFrame frame;
    private JButton button,saveButton;
    private JTextArea textArea;
    private JFileChooser dia;
    private JPanel buttonPanel;
    
    public void init() {
        frame=new JFrame("file chooser");
        dia=new JFileChooser();
        button=new JButton("open file");
        button.setActionCommand("open");
        //*********Found**********
        _______________________________(this);
        
        saveButton=new JButton("save file");
        //*********Found**********
        _______________________________(this);
        
        buttonPanel=new JPanel();
        buttonPanel.add(button);
        buttonPanel.add(saveButton);
        
        //*********Found**********  
        textArea=_____________ JTextArea("",10,10);
        //*********Found**********
        frame.getContentPane().add(__________________,BorderLayout.NORTH);
        frame.getContentPane().add(textArea,BorderLayout.CENTER);
        
        frame.setSize(300,300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
    //*********Found**********
    public void ________________________(ActionEvent event) { 
        if(event.getActionCommand().equals("open"))
            dia.showOpenDialog(frame);
        else
            dia.showSaveDialog( frame );
        
        dia.setVisible(true);
        File file=dia.getSelectedFile();
        if (file!=null){
            String fileName=file.getAbsolutePath();
            textArea.append("path of selected file: "+fileName+"\r\n");
        }
    }
    public static void main(String args[]){
        Java_2 example=new Java_2();
        //*********Found**********
        example.________________();
    }
}

本题着重考察考生对按钮事件和布局的理解情况。
本题中的第一个空格:新建按钮后需要对按钮设置监听,因此此处空格填入button.addActionListener;
本题中的第二个空格:新建按钮后需要对按钮设置监听,因此此处空格填入saveButton.addActionListener;
本题中的第三个空格:textArea为JTextArea类型,第一次使用之前需要创建对象,因此此处空格填入new;
本题中的第四个空格:图中button都在界面的上部,因此在将按钮添加到frame的时候添加到上部,因此此处空格填入buttonPanel;
本题中的第五个空格:函数内部的程序是按钮的操作逻辑,因此此处是按钮的响应事件,actionPerformed是接收操作事件的监听器接口,因此此处空格填入actionPerformed;
本题中的第六个空格:初始化采用init()方法,因此此处空格填入init。

本评析仅作参考。

import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.awt.*;

public class Java_2 implements ActionListener {
    private JFrame frame;
    private JButton button,saveButton;
    private JTextArea textArea;
    private JFileChooser dia;
    private JPanel buttonPanel;
    
    public void init() {
        frame=new JFrame("file chooser");
        dia=new JFileChooser();
        button=new JButton("open file");
        button.setActionCommand("open");
        //*********Found**********
        button.addActionListener(this);
        
        saveButton=new JButton("save file");
        //*********Found**********
        saveButton.addActionListener(this);
        
        buttonPanel=new JPanel();
        buttonPanel.add(button);
        buttonPanel.add(saveButton);
        
        //*********Found**********  
        textArea=new JTextArea("",10,10);
        //*********Found**********
        frame.getContentPane().add(buttonPanel,BorderLayout.NORTH);
        frame.getContentPane().add(textArea,BorderLayout.CENTER);
        
        frame.setSize(300,300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
    //*********Found**********
    public void actionPerformed(ActionEvent event) { 
        if(event.getActionCommand().equals("open"))
            dia.showOpenDialog(frame);
        else
            dia.showSaveDialog( frame );
        
        dia.setVisible(true);
        File file=dia.getSelectedFile();
        if (file!=null){
            String fileName=file.getAbsolutePath();
            textArea.append("path of selected file: "+fileName+"\r\n");
        }
    }
    public static void main(String args[]){
        Java_2 example=new Java_2();
        //*********Found**********
        example.init();
    }
}

综合应用

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

本题的要求是:
测试带有缓冲的输出流和不带缓冲的输出流在传输速度上哪个更快。程序输出结果如下:
这是一个测试缓冲流和非缓冲流速度的程序。
测试结果:缓冲流的传输速度快于非缓冲流。

import java.io.*;
import java.util.*;

public class Java_3
{
   //*********Found**********
   public ________________ void main (String args[])  throws IOException {
      FileOutputStream unbufStream = new FileOutputStream("test.one");
      BufferedOutputStream bufStream = new BufferedOutputStream(
      //*********Found**********
        new ____________________ ("test.two"));
      System.out.println();
      System.out.println("这是一个测试缓冲流和非缓冲流速度的程序。");
      System.out.println();
      //*********Found**********
      int ______________ = time(unbufStream)-time(bufStream);
      if(flag > 0) {
         System.out.println("测试结果:缓冲流的传输速度快于非缓冲流。");
         System.out.println();
      }
      else
         System.out.println("测试结果:缓冲流的传输速度慢于非缓冲流。");
   }
   //*********Found**********
   static int _____________(OutputStream out) throws IOException {
      //*********Found**********
      Date then = new ____________();
      for (int i=0; i<1000; i++) {
         out.write(1);
      }
      //*********Found**********
      out._________________ ();
      return (int)((new Date()).getTime() - then.getTime());
   }
}

本题着重考察考生对函数逻辑的理解情况。
本题中的第一个空格:在Java语言中,main函数必须使用static进行修饰,因此此处空格填入static;
本题中的第二个空格:输出流在使用前都需要新建实例,test.two是第二个输出流,因此同第一个输出流一样需要新建实例,因此此处空格填入FileOutputStream;
本题中的第三个空格:空格下方使用flag作为标志位进行判断,空格后面是两次缓冲流时间的差值,因此此处空格填入flag;
本题中的第四个空格:函数的功能是输出当前流使用的时间,结合flag值的判断方式,此处应该是time函数的定义,因此此处空格填入time;
本题中的第五个空格:函数开始时应该记录当前时间,因此此处空格填入Date;
本题中的第六个空格:写文件结束后应该关闭文件,因此此处空格填入close。

本评析仅作参考。

import java.io.*;
import java.util.*;

public class Java_3
{
   //*********Found**********
   public static void main (String args[])  throws IOException {
      FileOutputStream unbufStream = new FileOutputStream("test.one");
      BufferedOutputStream bufStream = new BufferedOutputStream(
      //*********Found**********
        new FileOutputStream ("test.two"));
      System.out.println();
      System.out.println("这是一个测试缓冲流和非缓冲流速度的程序。");
      System.out.println();
      //*********Found**********
      int flag = time(unbufStream)-time(bufStream);
      if(flag > 0) {
         System.out.println("测试结果:缓冲流的传输速度快于非缓冲流。");
         System.out.println();
      }
      else
         System.out.println("测试结果:缓冲流的传输速度慢于非缓冲流。");
   }
   //*********Found**********
   static int time(OutputStream out) throws IOException {
      //*********Found**********
      Date then = new Date();
      for (int i=0; i<1000; i++) {
         out.write(1);
      }
      //*********Found**********
      out.close ();
      return (int)((new Date()).getTime() - then.getTime());
   }
}
posted @   槑孒  阅读(386)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示