基本操作

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

本题的要求是:
完善程序,使程序输出结果如下:
ii= 207 gg= 774
ff=25.132
dd= 2.910410630643368

public class Java_1
{
//*********Found**********
public static void main(_________________ args[])
{
byte b = 8;
//*********Found**********
___________ g = 567L;
float f = 3.1415f;
double d = 2.789;
int ii = 207;
//*********Found**********
_________________ gg = g+ii;
float ff = b*f;
double dd = ff/ii+d;
//*********Found**********
System.out.____________("ii= "+ii+" ");
System.out.println("gg= "+gg);
System.out.println("ff= "+ff);
System.out.println("dd= "+dd);
}
}

本题着重考察考生对java数据类型的理解情况。
本题中的第一个空格:main函数的形参一般写为String args[],因此此处空格填入String;
本题中的第二个空格:567L表示变量类型为long,因此此处空格填入long;
本题中的第三个空格:g的类型为long,ii类型为int,为了保证精度取long类型,因此此处空格填入long;
本题中的第四个空格:程序输出中ii不换行,因此使用System.out.print(),因此此处空格填入print。

本评析仅作参考。

public class Java_1
{
//*********Found**********
public static void main(String args[])
{
byte b = 8;
//*********Found**********
long g = 567L;
float f = 3.1415f;
double d = 2.789;
int ii = 207;
//*********Found**********
long gg = g+ii;
float ff = b*f;
double dd = ff/ii+d;
//*********Found**********
System.out.print("ii= "+ii+" ");
System.out.println("gg= "+gg);
System.out.println("ff= "+ff);
System.out.println("dd= "+dd);
}
}

简单应用

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

本题的要求是:

完成程序,使程序输出结果如下图所示。点击open file按扭,打开文件对话框,选择文件,则文本框中输出所选文件的路径;点击save file按钮,打开文件对话框,在对话框中输入文件名,则文本框中输出保存文件的路径。 

Java二级操作题第38套_java

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

public class Java_2 implements ActionListener {
private JFrame frame;
private JButton button,saveButton;
private JTextArea textArea;
private JFileChooser dia;
private JPanel buttonPanel;

public void init() {
frame=new JFrame("file chooser");
dia=new JFileChooser();
button=new JButton("open file");
button.setActionCommand("open");
//*********Found**********
_______________________________(this);

saveButton=new JButton("save file");
//*********Found**********
_______________________________(this);

buttonPanel=new JPanel();
buttonPanel.add(button);
buttonPanel.add(saveButton);

//*********Found**********
textArea=_____________ JTextArea("",10,10);
//*********Found**********
frame.getContentPane().add(__________________,BorderLayout.NORTH);
frame.getContentPane().add(textArea,BorderLayout.CENTER);

frame.setSize(300,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
//*********Found**********
public void ________________________(ActionEvent event) {
if(event.getActionCommand().equals("open"))
dia.showOpenDialog(frame);
else
dia.showSaveDialog( frame );

dia.setVisible(true);
File file=dia.getSelectedFile();
if (file!=null){
String fileName=file.getAbsolutePath();
textArea.append("path of selected file: "+fileName+"\r\n");
}
}
public static void main(String args[]){
Java_2 example=new Java_2();
//*********Found**********
example.________________();
}
}

本题着重考察考生对按钮事件和布局的理解情况。
本题中的第一个空格:新建按钮后需要对按钮设置监听,因此此处空格填入button.addActionListener;
本题中的第二个空格:新建按钮后需要对按钮设置监听,因此此处空格填入saveButton.addActionListener;
本题中的第三个空格:textArea为JTextArea类型,第一次使用之前需要创建对象,因此此处空格填入new;
本题中的第四个空格:图中button都在界面的上部,因此在将按钮添加到frame的时候添加到上部,因此此处空格填入buttonPanel;
本题中的第五个空格:函数内部的程序是按钮的操作逻辑,因此此处是按钮的响应事件,actionPerformed是接收操作事件的监听器接口,因此此处空格填入actionPerformed;
本题中的第六个空格:初始化采用init()方法,因此此处空格填入init。

本评析仅作参考。

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

public class Java_2 implements ActionListener {
private JFrame frame;
private JButton button,saveButton;
private JTextArea textArea;
private JFileChooser dia;
private JPanel buttonPanel;

public void init() {
frame=new JFrame("file chooser");
dia=new JFileChooser();
button=new JButton("open file");
button.setActionCommand("open");
//*********Found**********
button.addActionListener(this);

saveButton=new JButton("save file");
//*********Found**********
saveButton.addActionListener(this);

buttonPanel=new JPanel();
buttonPanel.add(button);
buttonPanel.add(saveButton);

//*********Found**********
textArea=new JTextArea("",10,10);
//*********Found**********
frame.getContentPane().add(buttonPanel,BorderLayout.NORTH);
frame.getContentPane().add(textArea,BorderLayout.CENTER);

frame.setSize(300,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
//*********Found**********
public void actionPerformed(ActionEvent event) {
if(event.getActionCommand().equals("open"))
dia.showOpenDialog(frame);
else
dia.showSaveDialog( frame );

dia.setVisible(true);
File file=dia.getSelectedFile();
if (file!=null){
String fileName=file.getAbsolutePath();
textArea.append("path of selected file: "+fileName+"\r\n");
}
}
public static void main(String args[]){
Java_2 example=new Java_2();
//*********Found**********
example.init();
}
}

综合应用

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

本题的要求是:
测试带有缓冲的输出流和不带缓冲的输出流在传输速度上哪个更快。程序输出结果如下:
这是一个测试缓冲流和非缓冲流速度的程序。
测试结果:缓冲流的传输速度快于非缓冲流。

import java.io.*;
import java.util.*;

public class Java_3
{
//*********Found**********
public ________________ void main (String args[]) throws IOException {
FileOutputStream unbufStream = new FileOutputStream("test.one");
BufferedOutputStream bufStream = new BufferedOutputStream(
//*********Found**********
new ____________________ ("test.two"));
System.out.println();
System.out.println("这是一个测试缓冲流和非缓冲流速度的程序。");
System.out.println();
//*********Found**********
int ______________ = time(unbufStream)-time(bufStream);
if(flag > 0) {
System.out.println("测试结果:缓冲流的传输速度快于非缓冲流。");
System.out.println();
}
else
System.out.println("测试结果:缓冲流的传输速度慢于非缓冲流。");
}
//*********Found**********
static int _____________(OutputStream out) throws IOException {
//*********Found**********
Date then = new ____________();
for (int i=0; i<1000; i++) {
out.write(1);
}
//*********Found**********
out._________________ ();
return (int)((new Date()).getTime() - then.getTime());
}
}

本题着重考察考生对函数逻辑的理解情况。
本题中的第一个空格:在Java语言中,main函数必须使用static进行修饰,因此此处空格填入static;
本题中的第二个空格:输出流在使用前都需要新建实例,test.two是第二个输出流,因此同第一个输出流一样需要新建实例,因此此处空格填入FileOutputStream;
本题中的第三个空格:空格下方使用flag作为标志位进行判断,空格后面是两次缓冲流时间的差值,因此此处空格填入flag;
本题中的第四个空格:函数的功能是输出当前流使用的时间,结合flag值的判断方式,此处应该是time函数的定义,因此此处空格填入time;
本题中的第五个空格:函数开始时应该记录当前时间,因此此处空格填入Date;
本题中的第六个空格:写文件结束后应该关闭文件,因此此处空格填入close。

本评析仅作参考。

import java.io.*;
import java.util.*;

public class Java_3
{
//*********Found**********
public static void main (String args[]) throws IOException {
FileOutputStream unbufStream = new FileOutputStream("test.one");
BufferedOutputStream bufStream = new BufferedOutputStream(
//*********Found**********
new FileOutputStream ("test.two"));
System.out.println();
System.out.println("这是一个测试缓冲流和非缓冲流速度的程序。");
System.out.println();
//*********Found**********
int flag = time(unbufStream)-time(bufStream);
if(flag > 0) {
System.out.println("测试结果:缓冲流的传输速度快于非缓冲流。");
System.out.println();
}
else
System.out.println("测试结果:缓冲流的传输速度慢于非缓冲流。");
}
//*********Found**********
static int time(OutputStream out) throws IOException {
//*********Found**********
Date then = new Date();
for (int i=0; i<1000; i++) {
out.write(1);
}
//*********Found**********
out.close ();
return (int)((new Date()).getTime() - then.getTime());
}
}

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