基本操作
在考生文件夹中存有文件名为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©;
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());
}
}
}