Java二级操作题第13套

基本操作

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

本题的要求是:
运行程序后,输出结果如下:
Receive one int data
i=1
Receive two int data
x=2 y =3
Receive one double data
d=12.56
Receive a string
s=very interesting, is not it?

class MethodOverloading {

    void receive(int i) {
        System.out.println("Receive one int data");
        System.out.println("i=" + i);
    }

    //*********Found**********
    void receive(______ x, ______ y) {
        System.out.println("Receive two int data");
        System.out.println("x=" + x + "  y =" + y);
    }
    //*********Found**********
    void receive(double ______) {
        System.out.println("Receive one double data");
        System.out.println("d=" + d);
    }

    //*********Found**********
    void receive(String ______) {
        System.out.println("Receive a string");
        System.out.println("s="+s);
    }
}

public class Java_1 {

    public static void main(String args[]) {
        MethodOverloading mo = new MethodOverloading();
        mo.receive(1);
        mo.receive(2, 3);
        mo.receive(12.56);
        mo.receive("very interesting, is not it?");
    }
}

本题考查的是方法重载。
方法的重载是指多个方法可以享用相同的名字,但参数的数量或类型必须不完全相同,即方法体有所不同,它实现了Java编译时的多态性。
第一空和第二空的作用是定义方法形参的类型,根据题面和语句"System.out.println("Receive two int data");"可知,形参x和形参y都是整型,所以,第一空和第二空都填"int"。
根据题面和语句"System.out.println("d=" + d);"可知,第三空填"d"。
根据题面和语句"System.out.println("s="+s);"可知,第四空填"s"。

具体程序如下:

class MethodOverloading {

    void receive(int i) {
        System.out.println("Receive one int data");
        System.out.println("i=" + i);
    }

    //*********Found**********
    void receive(int x, int y) {
        System.out.println("Receive two int data");
        System.out.println("x=" + x + "  y =" + y);
    }
    //*********Found**********
    void receive(double d) {
        System.out.println("Receive one double data");
        System.out.println("d=" + d);
    }

    //*********Found**********
    void receive(String s) {
        System.out.println("Receive a string");
        System.out.println("s="+s);
    }
}

public class Java_1 {

    public static void main(String args[]) {
        MethodOverloading mo = new MethodOverloading();
        mo.receive(1);
        mo.receive(2, 3);
        mo.receive(12.56);
        mo.receive("very interesting, is not it?");
    }
}

简单应用

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

程序的功能是:实现如图所示的矩阵计算。

public class Java_2 {

    public static void main(String args[]) {
        int [][]a = {{2, 3, 4}, {4, 6, 5}};
        int [][]b = {{1, 5, 2, 8}, {5, 9, 10, -3}, {2, 7, -5, -18}};
        //*********Found**********
        int [][]c = ______________;
        for (int i = 0; i < 2; i++) {
            //*********Found**********
            for (int j = 0; j < _______; j++) {
                //*********Found**********
                __________________;
                for (int k = 0; k < 3; k++) 
                    //*********Found**********
                    c[i][j] += __________________;
                System.out.print(c[i][j] + "  ");
            }
            System.out.println();
        }
    }
}

本题考查的是多维数组。
根据程序中,第一空之前的数组a和数组b的初始化语句"int [][]a = {{2, 3, 4}, {4, 6, 5}};"和"int [][]b = {{1, 5, 2, 8}, {5, 9, 10, -3}, {2, 7, -5, -18}};"可知,第一空所在的语句的作用是初始化二维数组c,由于二维数组c的元素值是在之后由程序赋值,现在还不能确定,因此,只需要采用动态初始化的方法,为数组c分配空间即可,根据题面中给出的输出结果可知,第一空填"new int[2][4]"。
程序中的第一个for循环是控制数组c的行数,第二个for循环是控制数组c的列数,而第三个for循环则是为二维数组c的元素赋值。根据题面中给出的输出结果可知,二维数组c相当于一个2行4列的矩阵,所以,第二空填4。
由于程序中,第三个循环周期结束,即完成对一个元素的赋值,那么,在对下一个元素赋值前,需要将该元素的值初始化为0,所以第三空填"c[i][j]=0"。
矩阵的乘法准则:
例如:有两个矩阵,矩阵A与矩阵B,AB相乘的运算经过如下:
一、
1)用A的第1行各个数与B的第1列各个数对应相乘后加起来,就是乘法结果中第1行第1列的数;
2)用A的第1行各个数与B的第2列各个数对应相乘后加起来,就是乘法结果中第1行第2列的数;
3)用A的第1行各个数与B的第3列各个数对应相乘后加起来,就是乘法结果中第1行第3列的数;
依次进行,(直到)用A的第1行各个数与B的第末列各个数对应相乘后加起来,就是乘法结果中第1行第末列的的数。
二、
1)用A的第2行各个数与B的第1列各个数对应相乘后加起来,就是乘法结果中第2行第1列的数;
2)用A的第2行各个数与B的第2列各个数对应相乘后加起来,就是乘法结果中第2行第2列的数;
3)用A的第2行各个数与B的第3列各个数对应相乘后加起来,就是乘法结果中第2行第3列的数;
依次进行,(直到)用A的第2行各个数与B的第末列各个数对应相乘后加起来,就是乘法结果中第2行第末列的的数。
.
.
.
依次进行,
1)(直到)用A的第末行各个数与B的第1列各个数对应相乘后加起来,就是乘法结果中第末行第1列的数;
2)用A的第末行各个数与B的第2列各个数对应相乘后加起来,就是乘法结果中第末行第2列的数;
3)用A的第末行各个数与B的第3列各个数对应相乘后加起来,就是乘法结果中第末行第3列的数;
依次进行,(直到)用A的第末行各个数与B的第末列各个数对应相乘后加起来,就是乘法结果中第末行第末列的的数。
根据矩阵乘法的计算准则可知,第四空填"a[i][k]b[k][j]"。

具体程序如下:

public class Java_2 {

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

综合应用

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

本题的要求是:
程序运行后如图所示左侧界面,点击Edit后出现右侧界面,进行颜色选择。

//*********Found**********
import javax.______.*;
import java.awt.event.*;
import java.io.*;
import java.awt.*;

//*********Found**********
public class Java_3 implements ______ {

    JFrame f;
    JPanel p;
    JColorChooser cc;
    Container c;
    Color myColor;
    JMenuBar mb;
    JMenu m1;
    JMenuItem mi1;

    public static void main(String args[]) {
        Java_3 demo = new Java_3();
        demo.go();
    }

    void go() {
        JFrame f = new JFrame("File Chooser Demo");
        mb = new JMenuBar();
        f.setJMenuBar(mb);
        m1 = new JMenu("Edit");
        mb.add(m1);
        mi1 = new JMenuItem("Choose Color");
        m1.add(mi1);
        mi1.addActionListener(this);
        //*********Found**********
        c = ______.getContentPane();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        p = new JPanel();
        myColor = Color.red;
        p.setBackground(myColor);
        c.add("Center", p);
        f.setSize(300, 300);
        //*********Found**********
        f.setVisible(______);
    }

    public void actionPerformed(ActionEvent e) {
        //*********Found**********
        cc = new ______();
        myColor = cc.showDialog(c, "Choose window background color", Color.white);
        p.setBackground(myColor);
    }
}

本题考查的是编写图形用户界面。
Swing是AWT的扩展,它提供了许多新的图形界面构件。Swing构件以"J"开头,所以,根据程序中的语句"JFrame f;"、"JPanel p;"、"JColorChooser cc;"等可知,第一空填"swing",导入Swing包。
addActionListener()方法是用来注册监听器的,根据语句"mi1.addActionListener(this);"可知,第二空填"ActionListener",作用是定义事件响应接口。
对JFrame添加组件有两种方式:1、可以用getContentPane()方法获得JFrame的内容面板,再向其加入组件:frame.getContentPane().add(childComponent);2、建立一个JPanel或JDesktopPane之类的中间容器,把组件添加到容器中,再用setContentPane()方法把该容器置为JFrame的内容面板。根据语句"JFrame f;"可知,第三空填"f"。
setVisible(Boolean b)方法的作用是设置组件是否可见。根据题意,要使窗体f可见,所以,第四空填"true"。
事件发生后,Java运行时系统会自动调用对象的actionPerformed()方法进行处理,而且事件ActionEvent对象将被作为参数传递给actionPerformed()方法,actionPerformed()方法可以通过读取ActionEvent对象的相关信息来得到事件发生时候的情况。Swing提供的颜色选择器JColorChooser,既可以作为单独的对话框使用,也可以作为控件放置在任何自定义的界面当中。根据语句"JColorChooser cc;"可知,第五空填"JColorChooser"。

具体程序如下:

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

//*********Found**********
public class Java_3 implements ActionListener {

    JFrame f;
    JPanel p;
    JColorChooser cc;
    Container c;
    Color myColor;
    JMenuBar mb;
    JMenu m1;
    JMenuItem mi1;

    public static void main(String args[]) {
        Java_3 demo = new Java_3();
        demo.go();
    }

    void go() {
        JFrame f = new JFrame("File Chooser Demo");
        mb = new JMenuBar();
        f.setJMenuBar(mb);
        m1 = new JMenu("Edit");
        mb.add(m1);
        mi1 = new JMenuItem("Choose Color");
        m1.add(mi1);
        mi1.addActionListener(this);
        //*********Found**********
        c = f.getContentPane();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        p = new JPanel();
        myColor = Color.red;
        p.setBackground(myColor);
        c.add("Center", p);
        f.setSize(300, 300);
        //*********Found**********
        f.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        //*********Found**********
        cc = new JColorChooser();
        myColor = cc.showDialog(c, "Choose window background color", Color.white);
        p.setBackground(myColor);
    }
}
posted @   槑孒  阅读(365)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示