Java二级操作题第12套

基本操作

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

程序中定义了三个整型的一维数组a、b、c,请将a数组中的对应项与b数组中的对应项相加后赋给数组c的对应项(例如:c[i]=a[i]+b[i]),最后计算输出数组c中所有项之和。程序运行结果如下:
s=64

//*********Found**********
public ______ Java_1{
    public static void main(String[] args){
        int []a = {1,2,3,4,5,6,7,8};
        int []b = {0,1,2,3,4,5,6,7};
        int []c = new int[8];
        int s=0;
        
        //*********Found**********
        for(int i=0;i<a.______;i++)
            c[i]=a[i]+b[i];
        for(int j=c.length-1;j>=0;j--)
            //*********Found**********
            s=s+______;
        //*********Found**********
        System.______.println("s="+s);
    }
}

本题考查的是数组操作。
第一空的作用是类的声明,类声明的语法为:
[类修饰符] class 类名 [extends 父类名] [implements 接口名列表]{类体}
其中:[]内是可选项,{}内是类体。所以第一空填"class"。
第二空的作用是设置循环终止条件,根据程序可知,第一个for循环的作用是"将a数组中的对应项与b数组中的对应项相加后赋给数组c的对应项",所以,循环应将数组a和数组b中所有的元素都取出,循环的终止条件应是数组a或者数组b的长度(本题中数组a与数组b长度相同),所以第二空填"length"。
第二个for循环是实现数组c中所有项之和,将数组c中所有元素相加,并将相加后的值赋值给变量s,所以第三空填"c[j]"。
第四空考查了输出语句,程序中,System是Java类库中的一个类,利用此类可以获得Java运行环境的有关信息和输入、输出信息;out是System类中的一个对象;println是out对象的一个方法,其功能是向标准输出设备(即显示器)输出括号中的字符串,所以第四空填"out"。

具体程序如下:

//*********Found**********
public class Java_1{
    public static void main(String[] args){
        int []a = {1,2,3,4,5,6,7,8};
        int []b = {0,1,2,3,4,5,6,7};
        int []c = new int[8];
        int s=0;
        
        //*********Found**********
        for(int i=0;i<a.length;i++)
            c[i]=a[i]+b[i];
        for(int j=c.length-1;j>=0;j--)
            //*********Found**********
            s=s+c[j];
        //*********Found**********
        System.out.println("s="+s);
    }
}

简单应用

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

public class Java_2 {
    public static void main(String[ ] args) {
        //*********Found**********
        __________ pt = new Point[2];
        pt[0] = new Point();
        pt[1] = new Point(2, 3);
        //*********Found**********
        for (int i=0; i < pt.__________; i++) {
            System.out.print( pt[i] );
        }
    }
}

class Point {

    private int x;
    private int y;

    public Point() {
        this(0, 0);
    }

    //*********Found**********
    public __________ (int a, int b) {
        x = a;
        y = b;
    }

    int getX( ) {
        return x;
    }

    int getY( ) {
        //*********Found**********
        return __________;
    }

    void setX(int a) {
        x = a;
    }

    void setY(int b) {
        y = b;
    }

    public String toString ( ) {
        return "  ( " + x + "," + y + " ) ";
    }
}

本题重点考查了构造方法的重载。
构造方法是一种特殊的方法,当定义的类在使用new创建对象时自动引用构造方法对成员变量进行初始化操作。同样也可以对类的构造方法设置多个同名方法,根据参数的不同引用不同的构造方法。
程序定义并初始化含有2个元素的一维数组pt,在Java中定义并创建一个数组对象的方式是:type[] arrayName=new type[arraySize];所以第一空填"Point[]"。
根据题面要求可知,程序需要通过for循环将数组pt的元素依次输出,i的取值应为0<=i<=pt.length-1,所以第二空填"length"。
构造方法用来初始化对象,其方法名必须与类名相同且只能通过new自动调用,第四空所在的方法是Point类的构造方法,所以,第三空填"Point"。
在这返回y的值,所以第四空填"y"。

具体程序如下:

public class Java_2 {
    public static void main(String[ ] args) {
        //*********Found**********
        Point[] pt = new Point[2];
        pt[0] = new Point();
        pt[1] = new Point(2, 3);
        //*********Found**********
        for (int i=0; i < pt.length; i++) {
            System.out.print( pt[i] );
        }
    }
}

class Point {

    private int x;
    private int y;

    public Point() {
        this(0, 0);
    }

    //*********Found**********
    public Point(int a, int b) {
        x = a;
        y = b;
    }

    int getX( ) {
        return x;
    }

    int getY( ) {
        //*********Found**********
        return y;
    }

    void setX(int a) {
        x = a;
    }

    void setY(int b) {
        y = b;
    }

    public String toString ( ) {
        return "  ( " + x + "," + y + " ) ";
    }
}

综合应用

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

本题的要求是:
程序运行后显示如图所示界面,按"复制文件"按扭后,将当前目录下的a.txt文件中的数据写到另一个文件b.txt中。

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

public class Java_3 implements ActionListener{
  public static void main(String args[]){
    Java_3 t = new Java_3();
    //*********Found**********
    JFrame f = new _____________("Test");
    JButton b = new JButton("复制文件");
    b.setSize(100,40);
    b.addActionListener(t);
    f.setSize(400,400);
    //*********Found**********
    f.getContentPane().add(___________);
    f.pack();
    f.setVisible(true) ;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
	
  public void actionPerformed(ActionEvent event){
    try{
      //*********Found**********
      FileInputStream in=_____________________("a.txt");
      //*********Found**********
      FileOutputStream out=_____________________("b.txt"); 
      int c;
      while ((c = in.read()) != -1)
        out.write(c);
      in.close();
      out.close();
    } catch( Exception e){
    }
  }    
}

本题考查的是Swing构件和AWT中的事件处理。
首先新建一个Jframe对象,所以第一空填"JFrame"。
获取frame的内容面板后,在面板上添加"复制文件"按钮,所以第二空填"b"。
FileInputStream表示顺序访问文本文件,通过FileInputStream可以访问文件的一个字节、几个字节或整个文件。为一个文件打开输入流FileInputStream,必须将文件名或文件对象传递给构造函数。根据语句"in.close();“可知,第三空填"new
FileInputStream”。
以字节流方式写入文件时,首先要为磁盘文件建立一个File对象,再为该File对象建立FileOutputStream类流对象,然后就可以通过该类的write()方法逐个字节写入文件,写入操作完成后,利用close()方法关闭FileOutputStream流。根据语句"out.close();“可知,第四空填"new
FileOutputStream”。
具体程序如下:

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

public class Java_3 implements ActionListener{
  public static void main(String args[]){
    Java_3 t = new Java_3();
    //*********Found**********
    JFrame f = new JFrame("Test");
    JButton b = new JButton("复制文件");
    b.setSize(100,40);
    b.addActionListener(t);
    f.setSize(400,400);
    //*********Found**********
    f.getContentPane().add(b);
    f.pack();
    f.setVisible(true) ;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
	
  public void actionPerformed(ActionEvent event){
    try{
      //*********Found**********
      FileInputStream in=new FileInputStream("a.txt");
      //*********Found**********
      FileOutputStream out=new FileOutputStream("b.txt"); 
      int c;
      while ((c = in.read()) != -1)
        out.write(c);
      in.close();
      out.close();
    } catch( Exception e){
    }
  }    
}
posted @   槑孒  阅读(392)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示