2.
在Applet面板上显示initializing... starting...
在标准输出上显示(使用appletviewer对应所在的dos窗口) initializing… starting... stopping…
preparing for unloading...
3.
完成划线部分。
使用JDK自带的appletviewer来运行这个applet,其在applet面板上显示的内容是什么?从applet启动到关闭,其在标准输出(appletviewer对应的dos窗口)上的输出是什么?
import java.applet.Applet;
import java.awt.*;
public class Simple extends Applet; {
StringBuffer buffer; public void init() {
buffer = new StringBuffer(); addItem(“initializing... “); }
public void start() { addItem(“starting... “); }
public void stop() { addItem(“stopping... “); }
public void destroy() {
addItem(“preparing for unloading...”); }
void addItem(String newWord) { System.out.println(newWord); buffer.append(newWord); repaint(); }
public void paint(Graphics g) {
g.drawRect(0, 0, getSize().width - 1, getSize().height - 1); g.drawString(buffer.toString(), 5, 15); } }
五.下列类ReverseString的功能是从命令行接受一个字符串,将字符串的各字符颠倒后在标准输出上输出。如命令行输入为“abcd”,输出为“dcba” 。请写出类中缺少的reverseIt()方法。(10分)
第16页 共24页
class ReverseString {
// 方法reverseIt();
public static void main(String[] args) {
System.out.println(\
} }
参考程序: class ReverseString {
public static String reverseIt(String source) { int len = source.length();
StringBuffer dest = new StringBuffer(len); for (int i = len - 1; i >= 0; i--) { dest.append(source.charAt(i)); }
return dest.toString(); }
public static void main(String[] args) {
System.out.println(\ } }
六. 写一程序,读入命令行第一个参数指定的文本文件,将其所有字符转换为大写后写入第二个参数指定的文件中。(15分) 参考程序: import java.io.*; public class FileCopy {
public static void main(String args[]) throws IOException{ if (args.length != 2) {
System.out.println(\
}
BufferedReader sfl=new BufferedReader(new FileReader(args[0])); }
第17页 共24页
PrintWriter dfl = new PrintWriter(new FileWriter(args[1])); String c;
while ((c=sfl.readLine()) != null)
sfl.close(); dfl.close();
dfl.println(c.toUpperCase());
return;
}
------------------------------------------------------章节分割线------------------------------------------------------------ .阅读下列程序,并回答问题:(10分)
1. SuperClass中的成员变量a是类变量还是实例变量?其中的SuperClass方法又是什么方法? }
public class SubClass extends SuperClass { } 参考答案:
1. a为实例变量,SuperClass方法是构造方法(4分) 2. 输出:(6分) hello aaa
四.阅读下列程序,并回答问题:(15分)
4. 5.
init(), start(), stop(), destory() 四个方法各在什么阶段被执行?
如使用JDK自带的appletviewer来运行这个applet,运行后在applet面板上首先看到的内容是什么?此时标准输出上显示什么内容?将applet画面最小化后又恢复到原来的大小,applet面板上显示的内容又有什么变化? 6.
import java.applet.Applet; import _______________
public class LifeCycle __________ { int initCount = 0; int startCount = 0; int stopCount = 0; int destroyCount = 0;
StringBuffer buffer = new StringBuffer(); public void init() { ++initCount;
System.out.println(\addItem(\
第18页 共24页
完成划线部分。 String a = \
public static void main(String args[]) { }
SubClass bar = new SubClass(); System.out.println(bar.a); 2.程序的输出是什么? String a = \SuperClass() { }
System.out.println(a);
class SuperClass {
}
public void start() { ++startCount;
System.out.println(\addItem(\}
public void stop() { ++stopCount;
System.out.println(\addItem(\}
public void destroy() { ++destroyCount;
System.out.println(\addItem(\}
void addItem(String newWord) { buffer.append(newWord); repaint(); }
public void paint(Graphics g) {
g.drawRect(0, 0, getSize().width - 1, getSize().height - 1); g.drawString(buffer.toString(), 5, 15); } }
参考答案:(4分)
1.
init():在Applet被第一次载入或重新载入时运行。
start():在Applet可见时运行。窗口从最小化恢复为原大小时也会运行。 stop():在Applet不可见时运行。如用户转向其他网页或窗口最小化时均会执行。 destory():在关闭浏览器,Applet消亡时被执行。 2.
小应用程序各个阶段的输出:(7分) 在Applet面板上显示init():1,start():1,
在标准输出上显示(使用appletviewer对应所在的dos窗口) init():1 start():1
窗口最小化后又恢复为原来大小,applet面板上显示: init():1,start():1,stop():1,start():2, 3.
划线部分: (4分) import java.awt.*; extends Applet;
五.下列程序的目的是实现文本文件的拷贝。其中源文件名由第一个命令行参数给出,目的文件名由第二个命令行参数给出。请完成方法copyfiles(),使程序完整。(10分)
第19页 共24页
import java.io.*; public class CopyFile {
//method copyfiles
//…………………….
public static void main(String[] args) throws Exception {
if (args.length >= 1)
copyfiles(args[0],args[1]); else
System.err.println(\ SouceFileName DestFileName\ } }
参考程序:
public static void copyfiles(String sfl,String dfl) throws IOException {
FileReader in = new FileReader(sfl); FileWriter out = new FileWriter(dfl); int c;
while ((c = in.read()) != -1) out.write(c); in.close(); out.close(); }
六.以下是一个使用Socket进行通信的服务程序,仔细阅读该程序,完成下列要求:(15分)
3. 将服务程序划线部分中的XXX用正确的名词替代(共4处),然后解释用标号指定的斜体字语句
的功能(共3条),最后说出该服务程序完成的功能。(9分)
4. 编写一客户程序,能与服务程序通信并将服务程序发来的信息在标准输出上显示。(设客户程序
与服务程序在同一主机上运行,主机名为localhost)(6分)
服务程序: import java.net.*; import java.io.*;
public class SimpleServer {
public static void main(String args[]) {
ServerSocket s = null; Socket s1;
String sendString = “Welcome to visit me!”; OutputStream s1out; DataOutputStream dos;
第20页 共24页