最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Java高级程序设计期末复习题

来源:动视网 责编:小OO 时间:2025-09-27 11:37:32
文档

Java高级程序设计期末复习题

Java高级程序设计第二学期期末复习题一、判断题1.java.io.Seriablizable是对象可以序列化接口。(√)2.java.awt包是Java语言用来构建图形用户界面(GUI)的类库。(√)3.容器java.awt.Container是Component的子类,一个容器可以容纳多个构件,并使他们成为一个整体。(√)4.Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。(√)5. Java的图形用户界面的最基本的组成部分就是构件(Component)
推荐度:
导读Java高级程序设计第二学期期末复习题一、判断题1.java.io.Seriablizable是对象可以序列化接口。(√)2.java.awt包是Java语言用来构建图形用户界面(GUI)的类库。(√)3.容器java.awt.Container是Component的子类,一个容器可以容纳多个构件,并使他们成为一个整体。(√)4.Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。(√)5. Java的图形用户界面的最基本的组成部分就是构件(Component)
 Java高级程序设计第二学期 期末复习题

一、判断题

1. java.io.Seriablizable是对象可以序列化接口。(√)

2. java.awt包是Java语言用来构建图形用户界面(GUI)的类库。(√)

3. 容器java.awt.Container是Component的子类,一个容器可以容纳多个构件,并使他们成为一个整体。(√)

4. Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。(√)

5.  Java的图形用户界面的最基本的组成部分就是构件(Component)。(√)

6. 在Swing中用重量级的构件替代了AWT中的轻量级的构件。(X)

7. 与AWT构件不同,Swing构件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(contentPane)上。(√)

8. 类Panel默认的布局管理器是GridLayout。(X)

9. 每个Java小应用程序必须定义为Jframe类的子类。(√)

10. 使用UDP通信时,用DatagramPacket类把要发送的信息打包。(√)

11.AWT组件称为重型组件(√)

12.Swing组件称为轻型组件(√)

13.容器类不是GUI组件(X)

14.使用add方法可以在框架的内容窗格中添加组件(√)

15.FlowLayout 是最简单的布局管理器(√)

16.布局管理器GridLayout不是以网格(矩阵)的形式排列组件(X)

17.布局管理器的属性不可以动态的改变(X)

18.每一时刻,一个容器只能有一个布局管理器(√)

19.要创建一个用户界面,需要创建一个框架或applet来存放用户界面组件(√)

20.Component类是所有用户界面的父类(√)

21. JFrame实例可以添加到容器中。(  F )

22. JCheckBox继承了AbstractButton类的所有属性。( T )

23. JTextArea可以让用户输入多行文字。(  T )

24. JSlider与JScrollbor类似,但是JSlider具有更多的属性和更多是显示形式。( T  )

25.JTextField类继承了JTextComponent类,而JTextComponent类继承JComponent类。( T )

26. 从应用程序创建一个子窗口,不用先创建JFrame的一个子类。( F  )

27. 在一个文本域中按下回车键就触发了ActionEvent事件。( T )

28. Java使用事件委托处理模型来处理事件,源对象和监听对象可以是同一个对象。( T  )

29. JDBC是指Java程序与数据库连接的一种机制。( T )

30.可以给一个面板添加框架。(F   )

31. File类提供实现文件读写的操作方法。  (T)

32. java.io.Reader时一个读取字符的类。  (T)

33.垂直文本位置指定文本相对于图标的垂直位置。(T)

34.不可以同时设置按钮上的文本和图标。(F)

35.标签是显示一小段文字、一幅图片或者二者皆有的区域。(T)

36.组合框是包含项目的一个列表,用户可以从中进行选则。(T)

37. 用read()方法读取文件内容时,返回-1表示文件结束。(F)

38. PrintWriter类和PrintStream类可以以文本方式输入基本类型数据值、字符串和对象。(F)

39. 代表优先级的常数值越大优先级越低       (F)

40. 线程一旦被创建,则自动运行             (F ) 

二、单选题

1、下列关于Java线程的说法那些是正确的(  B   ) 

A、每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。

B、创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。

C、Thread类属于java.util程序包。

D、以上说法无一正确。

2、运行下列程序, 会产生什么结果?(  D   )

public class X extends Thread implements Runable{ 

public void run(){ 

System.out.println("this is run()"); 

public static void main(String args[]) { 

Thread t=new Thread(new X()); 

t.start(); 

}

A、第一行会产生编译错误 

B、第六行会产生编译错误 

C、第六行会产生运行错误 

D、程序会运行和启动 

3、下列选项中,用于定义接口的关键字是(   C    )

A、import

B、implements

C、interface

D、protected

4.定义类头时能使用的修饰符是(  C   )。

A) private B) static C) abstract D) protected

5、下面哪个方法不可以在任何时候被任何线程调用?(   A    )

A、wait()

B、sleep()

C、yield()

D、synchronized(this)

6. 下列关于线程优先级的说法中,正确的是 ( D )

A) 线程的优先级是不能改变的 

B) 线程的优先级是在创建线程时设置的 

C) 在创建线程后的任何时候都可以设置 

D) B和C 

7.线程生命周期中正确的状态是( C )

A) 新建状态、运行状态和终止状态

B) 新建状态、运行状态、阻塞状态和终止状态 

C) 新建状态、可运行状态、运行状态、阻塞状态和终止状态 

D) 新建状态、可运行状态、运行状态、恢复状态和终止状态 

8.Thread类中能运行线程体的方法是( D )

A) start()                             B) resume() 

C) init()                             D) run() 

9在程序读入字符文件时,能够以该文件作为直接参数的类是( A )

A) FileReader                         B) BufferedReader 

C) FileInputStream                     D) ObjectInputStream 

10)java.io包的File类是( D )

A) 字符流类                         B) 字节流类 

C) 对象流类                         D) 非流类 

11)下列描述中,正确的是( C )

A) 在Serializable接口中定义了抽象方法

B) 在Serializable接口中定义了常量 

C) 在Serializable接口中没有定义抽象方法,也没有定义常量 

D) 在Serializable接口中定义了成员方法 

12. java中用于创建文件对象的类是( A  )

A.File    B. Object   C. Thread   D. Frame

13. 从键盘上输入一个字符串创建文件对象,若要判断该文件对象为目录文件或数据文件,可使用下列哪个方法?( C    )

    A.getPath()  B. getName()  C.isFile()   D. isAbsolute()

14. 下列哪个类不对直接创建对象?( A  )

   A.InputStream   B. FileInputStream   C. BufferedInputStream  D. DataInputStream

15. 从键盘上输入多个字符时,为了避免回车换行符的影响,需要使用下列哪个流方法?( D   )

    A.write()  B. flush()    C. close()    D. skip()

 16. 以对象为单位把某个对象写入文件,则需要使用什么方法? ( B )

    A. writeInt()   B writeObject()   C. write()   D.writUTF()

17. 下列哪个类的方法能够直接把简单数据类型写入文件?( C )

   A.OutputStream   B. BufferedWriter   C. ObjectOutputStream.  D.FileWriter

18. 若一个类对象能被整体写入文件,则定义该类时必须实现下列哪个接口?(D  )

   A.Runnable   B. ActionListener  C. WindowsAdapter  D. Serializable

19. 下列哪种类型的数据能以对象的形式写入文件?( A  )

   A.String  B. Frame  C. Dialog  D. Button

20. File类的方法中,用于列举某目录下的子目录及文件的方法是(C )

   A.long length()  B. long lastModified()  C. String [] list()  D. String getName()

21. 能够以字符串为单位写入文件数据的流类是( C  )

   A. FileOutputStream  B. FileWriter  C. BufferedWriter  C. OutputStream

22. 能够向文件输入逻辑型数据的类是:(  D  )

   A. FileOutputStream  B. OutputStream  C. FileWriter  D.DataOutputStream

23.  在线程同步中, 为了唤醒另一个等待的线程,使用下列方法( C )

     A. sleep()   B. wait()   C notify()   D. join()

24. 为了得到当前正在运行的线程,可使用下列哪个方法?(B  )

    A.getName()  B. Thread.CurrentThread(). B. sleep()   D. run()

25. 以下( D  )不属于线程的状态。

  A.就绪状态    B。运行状态   C。挂起状态   D。独占状态

26.当线程被创建后,其所处的状态是( D  )

   A.阻塞状态  B。运行状态   C、就绪状态  D、新建状态

27. 当线程调用start()后,其所处状态为( C )

    A.阻塞状态  B。运行状态   C、就绪状态  D、新建状态

28. Thread.sleep()方法调用后,当等待时间未到,该线程所处状态为( A  )

    A.阻塞状态  B。运行状态   C、就绪状态  D、新建状态

29.新生状态的线程其可能直接进入的状态是( D   )

    A.阻塞状态  B、运行状态   C、新建状态  D、结束状态

30.Thread.sleep()方法调用后,当等待时间已到,该线程所处状态为( C  )

    A.阻塞状态  B。运行状态   C、就绪状态  D、新建状态

31.当线程因异常而退出run()后,其所处状态为( D  )

     A.阻塞状态  B。运行状态   C、就绪状态  D、结束状态

32.wait()方法首先是哪个类的方法?(A )

    A. Object   B. Thread.   C. Runnable   D. File

33.  如果我们想实现“先把要写入文件的数据先缓存到内存中,再把缓存中的数据写入文件中”的功能时,则需要使用下列哪个类?( C   )

    A. FileReader  B. OutputStream  C. FilterOutputStream   D. DataOutputStream

34. 用read()方法读取文件内容时,判断文件结束的标记为(C  )

     A. 0     B. 1   C -1    D. 无标记

35. 以下哪个方法只对使用了缓冲的流类起作用?(D   )

     A. read()   B. write()   C  skip()   D. flush()

36. Java提供的类InetAddress来进行有关Internet地址的操作.( D   )

    A. Socket   B.ServerSocket   C. DatagramSocket  D InetAddress

37. InetAddress类中哪个方法可实现正向名称解析?( B  )

     A. isReachable()  B. getHostAddress()   C. getHosstName()  D.getByName()

38. 为了获取远程主机的文件内容,当创建URL对象后,需要使用哪个方法获取信息(C  )

    A.getPort()   B.getHost  C.openStream()   D.openConnection()

39. java程序中,使用TCP套接字编写服务端程序的套接字类是(B )

    A. Socket   B. ServerSocket   C. DatagramSocket  D.DatagramPacket

40. ServerSocket的监听方法accept()的返回值类型是(C  )

    A. void  B.  Object   C. Socket    D. DatagramSocket

41. ServerSocket的getInetAddress()的返回值类型是( C )

   A. Socket   B ServerSocket   C.InetAddress   D,.URL

42. 当使用客户端套接字Socket创建对象时,需要指定(A )

   A.服务器主机名称和端口    B、服务器端口和文件   C、服务器名称和文件

   D.服务器地址和文件

43.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法(C  )

    A.getInetAddress()   B. getLocalPort()   C.getOutputStream()  D.getInputStream()

44. 使用UDP套接字通信时,常用哪个类把要发送的信息打包? (D  )

     A. String   B. DatagramSocket   C. MulticastSocket  D.DatagramPacket

45. 使用UDP套接字通信时,哪个方法用于接收数据 ( B  )

   A. read()  B. receive()  C. accept()   D. Listen()

46. 若要取得数据包的中源地址,可使用下列哪个语句( A  )?

   A. getAddress()    B. getPort()   C. getName()   D.getData()

47. 要使用java程序访问数据库,则必须首先与数据库建立连接,在建立连接前,应加载数据库驱动程序,该语句为( A   )

   A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)

   B. DriverManage.getConnection(“”,””,””)

   C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()

   D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()

48. 要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为(B  )

   A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)

   B. DriverManage.getConnection(“”,””,””)

   C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()

   D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()

49.  java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?(A  )

    A. executeQuery()   B.executeUpdate()  C executeEdit()  D.executeSelect()

50.  java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?( B )

    A. executeQuery()   B.executeUpdate()  C executeEdit()  D.executeSelect()

51.Swing与AWT的区别不包括(D  )

A.Swing是由纯Java实现的轻量级构件 

B.Swing没有本地代码 

C.Swing不依赖操作系统的支持 

D.Swing支持图形用户界面

52. JAVA中提供了多种布局对象类。其中使用卡片式布局的是( D )

A.FlowLayout               B.BoederLayout 

C.BoxLayout                D.CardLayout

53.每个使用Swing组件的程序必须至少有一个( B )

    A. 按钮        B. 顶层容器        C. 标签        D. 菜单

54.下列哪个选项是创建一个标识有"关闭"按钮的语句?( C )

A.JTextField b = new JtextField("关闭");

B.JTextArea b = new JTextArea("关闭"); 

C.JButton b = new Jbutton("关闭");

D.JCheckbox b = new Jcheckbox("关闭");

55.鼠标事件的接口MouseListener能实现的事件不包括(D  )

A.按下                        B.释放

C.点击                        D.拖动

56.在Java中,而无需在程序中用import导入的包是(D  )

A.java.applet          B.java.awt

C.java.util            D.java.lang

57.类Panel默认的布局管理器是( C ) 

A.GridLayout           B.BorderLayout  

C.FlowLayout          D.CardLayout

58.容器Frame缺省使用的布局编辑策略是(  B      )。

A.FlowLayout    B.BorderLayout                 C.GridLayout    D.CardLayout

59.容器类java.awt.container的父类是(  B )。

A.java.awt.Window           B.java.awt.Component

C.java.awt.Frame             D.java.awt.Panel

60.编写Java图形界面程序时,若需要对发生的事件做出响应和处理,一般需要在程序的开头写上(  D   )语句。

A.import   java.awt.* ;           B.import   java.applet.* ;

C.import   java.io.* ;             D.import   java.awt.event.* ;

三、填空题

1.Stdout System.out作为PrintStream的实例,来实现stdout,它代表的是 屏幕    

2.Stdin System.in作为InputStream类的一个实例来实现stdin,它代表的是键盘,你可以使用其中两个成员函数, read()让你从输入中读一个字节,skip(long n)让你在输入中跳过n个字节。

3. Java中的IO流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer。它们通过重载read()和write()方法定义了6个读写操作方法。

4. File类不是一個標準的I/O类,在java.io类库中它是唯一的non-stream類別,既不能讀取文件內容,也不能修改文件內容,主要作用是收集檔案(或目錄)的相關信息,例如:建立文件对象、修改文件名、设置文件属性、测试文件属性

5.目录是一个包含其他文件和路径列表的File 类。当你创建一个File 对象且它是目录时,isDirectory( ) 方法返回ture。这种情况下,可以调用该对象的String [ ]list( )方法来提取该目录内部其他文件和目录的列表

6. 所有的输出过滤流都是抽象类_             ____的子类。(FilterOutputStream)

7、字符输入流BufferedReader使用了__          ____技术。(PrintStream)

8、 InputStreamReader负责将InputStream转化成Reader,而OutputStreamWriter则将OutputStream转化成Writer。实际上是通过byte[]和String来关联。

9、设 a.txt为当前目录下的一个文本文件,则以字符方式向该文件写数据时,需要建立的输出流通道为:new FileWriter(“a.txt”);

10. 随机访问文件类是RandomAccessFile,它实现了与DataInputStream, DataOutputStream类同样实现的接口DataInput, DataOutput.。

11.实现多线程的两种方式是:1、继承Thread类;2、实现Runnable接口。

12、取得当前线程的语句是: Thread.currentThread();

13.主线程的名称是main,  默认创建的第一个子线程的名称是thread-0

14. 可以调用 Thread 类的方法 getPriority() 和 setPriority()来存取线程的优先级,线程的优先级界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间,缺省是5(NORM_PRIORITY)。

15.(1) 当多个线程同时运行时,会产生数据错误及其它冲突问题。Java语言提供了线程同步控制机制,一是      锁定共享资源,使得在任何时刻只有一个线程能够访问共享资源,以保持共享资源的完整和一致,二是让互相通信的线程       运行,以保证通信的正确性。

(2)线程之间的通信有两种方法:一是把共享变量和方法封闭在一个类中,二是利用系统方法      和      控制线程通信. 实现对共享资源互拆访问的方法是在方法声明中加入synchronized关键字来声明一个访问共享资源的方法,或者通过 synchronized关键字来声明synchronized 块。

 

 16、 守护线程一般被用于在后台为其它线程提供服务。调用方法 isDaemon() 来判断一个线程是否是守护线程,也可以调用方法setDaemon()将一个线程设为守护线程。

  17、InetAddress是用于封装IP地址和DNS的一个类。

  18、TCP/IP套接字是最可靠的双向流协议。等待客户端的服务器使用ServerSocket类,而要连接到服务器的客户端则使用Socket类。

  19、java.net包中提供了一个类MulticastSocket,允许数据报以广播方式发送到该端口的所有客户。

  20. 在TCP/IP协议的传输层除了TCP协议之外还有一个UDP协议。几个标准的应用层协议HTTP,FTP,SMTP…使用的都是TCP协议。 UDP协议主要用于需要很强的实时交互性的场合,如网络游戏,视频会议等

  21、当我们得到一个URL对象后,就可以通过它读取指定的WWW资源。这时我们将使用URL的方法openStream(),其定义为:InputStream openStream();

  22、URL的构造方法都声明抛弃非运行时异常 MalformedURLException ,因此生成URL对象时,我们必须要对这一例外进行处理,通常是用try-catch语句进行捕获。

  23、一个Statement对象,可以执行多个sql语句以后,批量更新。这多个语句可以是delete、update、insert等或兼有

  24、Java数据库操作基本流程:取得数据库连接 、执行sql语句、处理执行结果、释放数据库连接。

  25、下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是  

public class Test implements Runnable{  

public static void main(String args[]){  

Test t=new Test();  

Thread tt=new Thread(t);  

tt.start();  

}  

public void run(){  

for(;;){  

try{  

   Thread.sleep(1000)             ;  

}catch(  InterruptedException   e){}  

System.put.println("Hello");  

}  

}  

}  

26、下列程序的功能是把整型数组myArray中的各元素存入文件ints.dat中,请将程序补充完整。

         Import java.io.*;

         Public class WriteFile{

         Public static void main (String[] A){

         ____int[]______ myArray={10,20,30,40};

         Try{

            FileOutputStream f=new FileOutputStream(“ints.dat”);

            DataOutputStream_____Dos________=new DataOutputStream(f);

            For(int i=0;i               Dos.writeInt(myArray[i]);

               Dos.close();

    }catch(IOException ioe){

          System.out.println(“IOException”);

      }

     }

    }  

27、面程序运行后,可以使用上下键移动文本框组件。请将程序补充完整。

public class Yidong extends Frame implements keyListener{

    TextField b1;

    int x,y;

    Yidong (){

        setLayout (new FlowLayout());

        b1 = new TextField("走");

    ____ this.add(b1); __

        b1.addkeyListener(this);

        setSize (200,120);

    }

    public void keyPressed(KeyEvent e)

    {

        x=b1.getBouds().x;

                y=b1.getBouds().y;

                if(e.getKeyCode()==KeyEvent.VK_UP){

            y=y-3;

         if(y<=1)y=50;

                        b1.setLocation(x,y);

        }

        if(e.getkeyCode()==keyEven.VK_DOWN)

        {

            y=y+3;

         if(y>=100)y=50;

            ______ b1.setLocation(x,y)_____;

        }

        }

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){}

public static void main (String args[]){

    Yidong a = new Yidong ();

    _____ a.setVisible(true) ____;

        }

}

28、下面的程序段完成服务器在端口4331监听客户端的连接,如果有连接,则在服务端显示客户端的IP地址, 请将程序补充完整。

public class Server{ 

  public static void main(String args[]){

      ServerSocket server=null;

      Server_thread thread;

      Socket you=null;

      while(true) {  

try{  

server=new ServerSocket(___4331__________);

        } catch(IOException e1){  } 

        try{  

System.out.println(" 等待客户呼叫");

           you=____server.accept();_____

                System.out.println("客户的地址:" + 

____you.getInetAddress_____);

            } catch (IOException e) { }

     } 

}

}

                    

四、编程题

1、利用文件输入输出流编写一个实现文件拷贝的程序,源文件名和目标文件名通过命令行参数传入。

  答:

import java.io.*;

class CopyFile{

public static void main(String[] args) {

String file1,file2 ;

int ch = 0 ;

try {

file1=args[0];

file2=args[1];

FileInputStream fis = new FileInputStream(file1);

FileOutputStream fos=new FileOutputStream(file2);

while ((ch=fis.read())!=-1)

fos.write(ch);

fis.close();

fos.close();

}

catch(FileNotFoundException e){

System.out.println("源文件:未找到!");

}catch(ArrayIndexOutOfBoundsException e){

System.out.println("缺少运行参数!");

System.exit(-1);

}

catch (IOException e){

System.out.println(e.toString());

}

}

}

2、编写程序实现窗口,包含一个标签、一个文本框和一个按钮,当用户单击按钮时,程序把文本框中的内容复制到标签中。

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MyFrame extends JFrame implements ActionListener{

     JLabel lbl;

     JTextField txt;

     JButton btn; 

     public MyFrame(){

          Container c=getContentPane();

            //设置窗体的布局为FlowLayout

           setLayout(new FlowLayout());

           lbl = new JLabel("初始信息");

           txt = new JTextField(30);

           btn = new JButton("确定"); 

           c.add(lbl);

           c.add(txt);

           c.add(btn);

           btn.addActionListener(this); 

           setVisible(true);

       }  

       public void actionPerformed(ActionEvent e){

           lbl.setText(txt.getText());

public static void main(String[] args){

            new MyFrame();

}

3.编写一个程序,从键盘输入一串字符,从屏幕输出并将其存入a.txt文件中。

3.答:

import java.io.*;

public class InFile{

public static void main(String[] args)

{

int ch;

try{

FileOutputStream out=new FileOutputStream("a.txt");

while((ch=System.in.read())!='\\r'){

System.out.write(ch);

out.write(ch);

}

out.close();

System.out.write('\\n');

}catch(IOException e){

System.out.println(e.toString());

}

System.out.println("输出至文件完毕!");

}

}

4、下列程序向屏幕输出文本文件内容:请完成所缺少的代码

 class  readtxt

{

 public static void main(String[] args) {

  

         BufferedReader bf1 =new BufferedReader(f1);                   

 line!=null)判断所读的一行内容是否为空;

 line = bf1.readLine(); 继续读入下一行

  bf1.close();   关闭文件的输入流;

       }catch(IOException e)   {e.printStackTrace();  }

5、设服务器端程序监听端口为8629, 当收到客户端信息后,首先判断是否是“BYE”,若是,则立即向对方发送“BYE”,然后关闭监听,结束程序。若不是,则在屏幕上输出收到的信息,并由键盘上输入发送到对方的应答信息。请编写程序完成此功能。

mport java.net.*;

import java.io.*;

  class Server{

 public Server() {

  try  {

 ServerSocket ss = new ServerSocket(8629); 

 服务器端已运行,等待客户端连接:

 Socket socket = ss.accept();  //接收客户端的连接请求;

  BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

 socket.getOutputStream(),true);

    String line;   

 line.equals("BYE"))

    { out.println("BYE");             

        break;}        

 客户输入为 :" + line);

 请输入回答:" );

   line=br.readLine();              //从键盘上输入信息;

 out.println(line);  向对方发送信息

    }       }  

  catch (IOException e){}

 } 

 public static void main(String[] args) throws Exception{

  new Server();

  }

}

6、TCP客户端需要向服务器端8629发出连接请求,与服务器进行信息交流,当收到服务器发来的是“BYE”时,立即向对方发送“BYE”,然后关闭连接,否则,继续向服务器发送信息。

import java.io.*;

import java.net.*;

  class Client2{

 public Client2()

 {  try

  {String s;

 Socket socket = new Socket("服务器地址", 8629);   

  BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

 socket.getOutputStream(),true);

  { System.out.println("请向服务器输出一条字符串:");

  out.println(s);                 //向服务器发出信息;

 s=in.readLine().trim();  收到服务器发来的信息;

 服务器返回的信息是:");

 s.equals("BYE"))

  out.println("BYE");

    }   

  catch (IOException e){}

 } 

 public static void main(String[] args) {

  new Client2();

 }}

7、设access数据库中有student表,表中存放学生学号,姓名两个字段,请编写程序输出表中所有记录信息。(假定已经配置好数据源为:mydb11)

  import java.sql.*;

  class access{

public static void main(String args[]){

 Connection con;

 Statement sql; //声明Statement对象

 ResultSet rs;

try{

 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

 }

catch(ClassNotFoundException e){

System.out.println(""+e);

}

try{

 con=DriverManager.getConnection("jdbc:odbc:mydb11

sql=con.createStatement();

rs=sql.executeQuery("Select * FROM mytable");

while(rs.next()){

 String num=rs.getString(1); //获得数据库第一列

 String name=rs.getString(2); 

System.out.print("学号:"+num); //输出信息

System.out.print("  姓名:"+name);

System.out.println();

con.close();}

catch(SQLException el){}

 }

文档

Java高级程序设计期末复习题

Java高级程序设计第二学期期末复习题一、判断题1.java.io.Seriablizable是对象可以序列化接口。(√)2.java.awt包是Java语言用来构建图形用户界面(GUI)的类库。(√)3.容器java.awt.Container是Component的子类,一个容器可以容纳多个构件,并使他们成为一个整体。(√)4.Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。(√)5. Java的图形用户界面的最基本的组成部分就是构件(Component)
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top