6. public MyCircle(double r){ 7. this.r=r; 8. }
9. public double CalsulateArea(){ 10. return Math.PI*r*r; 11. } 12. }
13. class MyRectangle implements Area{ 14. double width,height;
15. public MyRectangle(double w,double h){ 16. width=w; 17. height=h; 18. 19. }
20. public double CalsulateArea(){ 21. return width*height; 22. } 23. }
24. class TestArea{
25. public static void main(String []args){
26. //创建MyCircle的对象,对象名为c 27. System.out.println(\28. //创建MyRectangle的对象,对象名为r 29. System.out.println(\area of the Rectangle is \30. 31. } 32. }
7、仔细阅读下面的程序代码,请将划线上①~④的语句补充完整。 import java.awt.*;
import java.awt.event.*;
public class MyFrameCanExit extends Frame implements ① { public MyFrameCanExit(String str){ super(str); }
public void windowClosing( ② e) { System.exit(0);
}
public void windowClosed(WindowEvent e) { } public void windowOpened(WindowEvent e) { } public void windowIconified(WindowEvent e) { } public void windowDeiconified(WindowEvent e) { } public void windowActivated(WindowEvent e) { }
第 37 页 共 48 页
public void windowDeactivated(WindowEvent e) { }
public static void main(String args[ ]){
MyFrameCanExit fr = new MyFrameCanExit(\
fr. ③ (fr); //注册窗口事件监听器。 fr. ④ (200,200); fr.setVisible(true); }
8、下面是一个支持多个客户端交互的程序,请根据注释要求补充、完成代码: import java.io.*;
______________________ //加载网络API包 public class ServerThread extends Thread{ Socket socket=null; int clientnum;
public ServerThread(Socket socket,int num) { this.socket=socket; clientnum=num+1; }
public void run() { try{
String line;
InputStream in=__________________________//得到socket的输入流 BufferedReader is=new BufferedReader(new InputStreamReader(in)); PrintWriter os=new PrintWriter(socket.getOutputStream());
//由系统标准输入设备构造BufferedReader对象 BufferedReader sin=new BufferedReader
(_______________________________________);
System.out.println(\ line=sin.readLine();
while(!line.equals(\ os.println(line);
// 刷新输出流,使Client马上收到该字符串 ______________________________
System.out.println(\
System.out.println(\ line=sin.readLine(); }
os.close();//关闭Socket输出流 is.close(); //关闭Socket输入流 socket.close(); //关闭Socket对象 }catch(Exception e){
第 38 页 共 48 页
System.out.println(\ } } }
9、阅读下面代码片段,根据注释要求补充、完成代码。(带*号行是需要补充的地方) import java.io.*; import java.net.*;
public class SocketExample {
public static void main(String[] args) { ServerSocket server; Socket socket;
ObjectOutputStream output; ObjectInputStream input; try{
//创建一个端口号为6000,可有50个客户同时连接的服务器流套接字 * socket = server.accept();
//创建一个Object输出流用来向客户发送数据
* output.flush();
//创建一个Object输入流用来接收客户发送的数据
* //关闭输出输入流
* * socket.close();
}catch(IOException ioException) {
System.out.println(\捕获一个I/O异常\ } } }
10、通过TCP协议方式,定义一个服务器端,端口为5000,要求可以同时连接多个客户端,并且每个客户端在休眠10秒钟之后退出连接;将下面的程序补齐:
import java.net.*; import java.io.*;
public class ServerExample implements { private Socket m_socket; private int m_id;
public (Socket s, int id) { m_socket= s; m_id= id; }
public void {
第 39 页 共 48 页
try { . sleep(10000);
System.out.println(\ m_socket.close();
} catch (Exception e) {} }
public static void main(String args[]){ int n= 1;
server= null; try{
server= new (5000);
System.out.println( \ }
catch (IOException e){} while (true){ try{
System.out.println(\ s= server.accept( );
ServerExample t=new ServerExample(s, n++); th =new Thread( ); .start( ); }
catch (IOException e){} } // End of loop: while } // End of method: main }
11、下面是一个Java Applet的程序代码和相应的html文件,若Applet的.class文件和html文件在同一个目录,请根据注释要求补充、完成代码(划线是需要补充的地方)。
//加载Applet类的包 import java.awt.*;
public class Welcome extends Applet{
_______________________________{ //paint方法说明
//在(25,25)位置画出“Welcome!” } }
//包含上述Applet,高200宽300像素
第 40 页 共 48 页