基本操作

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

本题的要求是:
该程序的功能是:打印如下图形。
*





public class Java_1 {
public static void main(String[] args) {
//*********Found**********
for (int i=1;___________;i++){
for(int k=1;k<=5-i;k++)
//*********Found**********
______________________;
//*********Found**********
for(___________;j<=2*i-1;j++)
System.out.print("*");
//*********Found**********
______________________;
}
}
}

本题考查的是for循环语句。
因为打印输出的图形是5行,所以第一空填"i<=5"。图形是空格和*组成,所以第二空填"System.out.print(" “)”。内层循环j从1开始,所以第三空填"int j=1"。每行输出后需要换行,所以第四空填"System.out.println()"。
具体程序如下:

public class Java_1 {
public static void main(String[] args) {
//*********Found**********
for (int i=1;i<=5;i++){
for(int k=1;k<=5-i;k++)
//*********Found**********
System.out.print(" ");
//*********Found**********
for(int j=1;j<=2*i-1;j++)
System.out.print("*");
//*********Found**********
System.out.println();
}
}
}

简单应用

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

本题的要求是:
该程序的功能是:将一个对象写入一个数据文件,再读出该对象并显示出来。
该程序的运行结果是:小王

import java.io.*;

public class Java_2 {
public static void main(String[] args) {
ObjectOutputStream oos = null;
ObjectInputStream ois = null;
try {
File f = new File("Person.dat");
//*********Found**********
oos = new ObjectOutputStream(new _____________________(f));
oos.writeObject(new Person("小王"));
oos.close();
ois = new ObjectInputStream(new FileInputStream(f));
//*********Found**********
Person d = (Person) ois._____________();
System.out.println(d);
ois.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//*********Found**********
class Person implements __________________ {
String name = null;
public Person(String s) {
name = s;
}
//*********Found**********
public String _____________() {
return name;
}
}

本题考查的是对文件读、写对象数据。
需要使用到与对象有关的流ObjectInputStream/ObjectOutputStream。
ObjectOutputStream:对象输出流,使用writeObject(Object obj)方法将一个对象Obj写入输出流;ObjectInputStream:对象输入流,使用readObject()方法读取一个对象所以第一空填"FileOutputStream",第二空填"readObject"。
当一个类实现了Serializable接口(该接口仅为标记接口,不包含任何方法定义),表示该类可以序列化,序列化的目的是将一个实现了Serializable接口的对象转换成一个字节序列,所以第三空填"Serializable"。
默认执行Object的toString方法,在该类重写该方法,达到输出姓名效果,所以第四空填"toString"。

具体程序如下:

import java.io.*;

public class Java_2 {
public static void main(String[] args) {
ObjectOutputStream oos = null;
ObjectInputStream ois = null;
try {
File f = new File("Person.dat");
//*********Found**********
oos = new ObjectOutputStream(new FileOutputStream(f));
oos.writeObject(new Person("小王"));
oos.close();
ois = new ObjectInputStream(new FileInputStream(f));
//*********Found**********
Person d = (Person) ois.readObject();
System.out.println(d);
ois.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//*********Found**********
class Person implements Serializable {
String name = null;
public Person(String s) {
name = s;
}
//*********Found**********
public String toString() {
return name;
}
}

综合应用

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

本题的要求是:

程序运行后出现如图所示界面,点击增大按钮则左边的数字增大,点击减小按钮则左边的数字减小。 

Java二级操作题第14套_文件名

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

public class Java_3 {
public static void main(String[ ] args) {
JFrame frame = new JFrame("Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//*********Found**********
frame.getContentPane().___________(new Change());

frame.pack();
//*********Found**********
frame.setVisible(___________);
}
}

class Change extends JPanel{

int count = 200;
JLabel l1;
JButton b1, b2;

public Change() {
setPreferredSize(new Dimension(280, 60));
l1 = new JLabel("200");
b1 = new JButton("增大");
b2 = new JButton("减小");
add(l1);
add(b1);
add(b2);
b1.addActionListener(new BListener1());
//*********Found**********
b2.addActionListener(new ___________());
}

private class BListener1 implements ActionListener {

public void actionPerformed(ActionEvent e) {
count++;
l1.setText("" + count);
}
}
private class BListener2 implements ActionListener {

public void actionPerformed(ActionEvent e) {
//*********Found**********
count _________;
l1.setText("" + count);
}
}
}

本题考查的是Swing构件和AWT中的事件处理。
getContentPane()的作用是初始化一个容器,用来在容器上添加一些控件,所以第一空填"add"。
然后需要显示该容器,所以第二空填"true"。
由语句"b1.addActionListener(new BListener1());“可知,第三空填"BListener2”。
定义的b2事件是个减小,所以第四空填"–"。

具体程序如下:

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

public class Java_3 {
public static void main(String[ ] args) {
JFrame frame = new JFrame("Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//*********Found**********
frame.getContentPane().add(new Change());

frame.pack();
//*********Found**********
frame.setVisible(true);
}
}

class Change extends JPanel{

int count = 200;
JLabel l1;
JButton b1, b2;

public Change() {
setPreferredSize(new Dimension(280, 60));
l1 = new JLabel("200");
b1 = new JButton("增大");
b2 = new JButton("减小");
add(l1);
add(b1);
add(b2);
b1.addActionListener(new BListener1());
//*********Found**********
b2.addActionListener(new BListener2());
}

private class BListener1 implements ActionListener {

public void actionPerformed(ActionEvent e) {
count++;
l1.setText("" + count);
}
}
private class BListener2 implements ActionListener {

public void actionPerformed(ActionEvent e) {
//*********Found**********
count --;
l1.setText("" + count);
}
}
}

箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。