Java二级操作题第16套

基本操作

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

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

运行后屏幕上的显示结果如下:
25 65 14 -65
44 109 43 -76

public class Java_1 {

    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}};
        int c[][] = new int[2][4];
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 4; j++) {
                //*********Found********
                c[i][j] = ___________;
                //*********Found********
                for (int k = ___________; k < ___________; k++) 
                    //*********Found********
                    c[i][j] ___________ a[i][k]*b[k][j];
                System.out.print(c[i][j] + "  ");
            }
            System.out.println();
        }
    }
}

本题考查的是多维数组。
由于程序中,第三个循环周期结束,即完成对一个元素的赋值,那么,在对下一个元素赋值前,需要将该元素的值初始化为0,所以第一空填"0"。
程序中的第一个for循环是控制数组c的行数,第二个for循环是控制数组c的列数,而第三个for循环则是为二维数组c的元素赋值。根据题面中给出的输出结果可知,二维数组c相当于一个2行4列的矩阵,所以,第二空填"0",第三空填"3"。
矩阵的乘法准则:
例如:有两个矩阵,矩阵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的第末列各个数对应相乘后加起来,就是乘法结果中第末行第末列的的数。
根据矩阵乘法的计算准则可知,第四空填"+="。

具体程序如下:

public class Java_1 {

    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}};
        int c[][] = new int[2][4];
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 4; j++) {
                //*********Found********
                c[i][j] = 0;
                //*********Found********
                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_2.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题程序的运行结果如下:
in SuperClass:x=3
in SubClass :x=5
in SuperClass.doSomething()
in SubClass.doSomething()
super.x=3 sub.x=5

public class Java_2{

    public static void main(String args[]) {
        SubClass subC = new SubClass();
        subC.doSomething();
    }
}
class SuperClass {

    int x;

    SuperClass() {
        //*********Found********
        x = ___________;
        System.out.println("in SuperClass : x=" + x);
    }

    void doSomething() {
        //*********Found********
        System.out.println("__________________________()");
    }
}

class SubClass extends SuperClass {

    int x;

    SubClass() {
        super();
        //*********Found********
        x = ____________;
        System.out.println("in SubClass  :x=" + x);
    }

    void doSomething() {
        super.doSomething();
        //*********Found********
        System.out.println("________________________()");
        System.out.println("super.x=" + super.x + "  sub.x=" + x);
    }
}

本题考查的是输出流。
具体程序如下:

public class Java_2{

    public static void main(String args[]) {
        SubClass subC = new SubClass();
        subC.doSomething();
    }
}
class SuperClass {

    int x;

    SuperClass() {
        //*********Found********
        x = 3;
        System.out.println("in SuperClass : x=" + x);
    }

    void doSomething() {
        //*********Found********
        System.out.println("in SuperClass.doSomething()");
    }
}

class SubClass extends SuperClass {

    int x;

    SubClass() {
        super();
        //*********Found********
        x = 5;
        System.out.println("in SubClass  :x=" + x);
    }

    void doSomething() {
        super.doSomething();
        //*********Found********
        System.out.println("in SubClass.doSomething()");
        System.out.println("super.x=" + super.x + "  sub.x=" + x);
    }
}

综合应用

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

本题的要求是:
该程序运行后,首先显示图1的界面,点击该界面下方的"Open File"按钮后,将弹出图2的界面,用于选择文件,所选择的文件名将显示在图1的文本区域。 

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

//*********Found********
public class Java_3 implements ____________{
    JFrame f;
    JTextArea ta;
    //*********Found********
    JFileChooser ____________;
    Container c;
    File myFile;
	
    public static void main(String args[]){
        Java_3 demo = new Java_3();
        demo.go();
    }
    void go(){
        f = new JFrame("File Chooser Demo");
        //*********Found********
        JButton b = new JButton("____________");
        ta = new JTextArea("Where is your file path?",10,30);
        //*********Found********
        b.addActionListener(____________);
        c = f.getContentPane();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //*********Found********
        f.getContentPane().add("South", ____________);
        f.getContentPane().add("Center",ta);
        f.setSize(300,300);
        f.setVisible(true);
    }

    public void actionPerformed(ActionEvent e){
        fc = new JFileChooser();
        int selected = fc.showOpenDialog(c); 
        if (selected==JFileChooser.APPROVE_OPTION){
            myFile = fc.getSelectedFile();
            ta.setText("You have selected file: "+ myFile.getName());
        }
    }
}

本题考查的是图形用户界面。
Event是AWT的扩展,提供处理由AWT组件所激发的各类事件的接口和类,所以第一空填"event",导入Event包。
添加指定的动作侦听器,以接收发自此按钮的动作事件。当用户在此按钮上按下或释放鼠标时,发生动作事件。所以第二空填"ActionListener"。
根据"fc = new JFileChooser();",可得第三空填"fc"。
定义一个JButton对象,打开菜单,所以第四空填"Open File"。
Swing中在实现ActionListener接口时,可以直接将事件写成b.addActionListener(this);所以第五空填"this",第六空填"b"。

具体程序如下:

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

//*********Found********
public class Java_3 implements ActionListener{
    JFrame f;
    JTextArea ta;
    //*********Found********
    JFileChooser fc;
    Container c;
    File myFile;
	
    public static void main(String args[]){
        Java_3 demo = new Java_3();
        demo.go();
    }
    void go(){
        f = new JFrame("File Chooser Demo");
        //*********Found********
        JButton b = new JButton("Open file");
        ta = new JTextArea("Where is your file path?",10,30);
        //*********Found********
        b.addActionListener(this);
        c = f.getContentPane();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //*********Found********
        f.getContentPane().add("South", b);
        f.getContentPane().add("Center",ta);
        f.setSize(300,300);
        f.setVisible(true);
    }

    public void actionPerformed(ActionEvent e){
        fc = new JFileChooser();
        int selected = fc.showOpenDialog(c); 
        if (selected==JFileChooser.APPROVE_OPTION){
            myFile = fc.getSelectedFile();
            ta.setText("You have selected file: "+ myFile.getName());
        }
    }
}
posted @   槑孒  阅读(356)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示