请高手帮忙解决一些JAVA试题

Python025

请高手帮忙解决一些JAVA试题,第1张

《Java程序设计》期未考试复习题

一.填空

1.在一个java源程序中定义了3个类和15个方法,编译该Java源文件时,会产生个字节码文件,其扩展名是class。

2.创建类的关键字是public class.

3. 类包声明的关键字是package.

4.引用类包的关键字是import.

5.声明接口的关键字是interface.

6.继承的关键字是extends.

7.返回变量的值的关键字是return.

8.声明虚拟类的关键字是abstract.

9.在Java语言中,逻辑常量只有true false两个值。

10.i为整型变量且赋值为11,表达式

int a=i++

则a的值为12。

11.面向对象的软件开发方法用把数据和基于数据的操作封装在一起。

12.构造方法的方法名必须与类名相同。

13.如果子类中的某个方法的名字、和与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。

14.同一个类中多个方法具有相同的方法名,不同的,称为方法的重载。

15.Java异常处理中可能够抛出异常的代码是放在try块中,处理代码是放在catch块中。

2.百度百科搜索很详细

3.附件中的代码仅供参考

TcpSocketServerDemo.java

package yaoshun.InetAddress

import java.io.DataInputStream

import java.io.DataOutputStream

import java.io.IOException

import java.net.ServerSocket

import java.net.Socket

import java.util.ArrayList

import java.util.List

import java.util.Random

/*

 * 客户端:TCP服务器

 */

public class TcpSocketServerDemo {

private ServerSocket serverSocket// 服务器连接

private int port // 服务器监听端口

private List<Socket> sockets

private int ranNumber

/**

 * 服务器结束的标志

 */

public boolean ISEND

public TcpSocketServerDemo(int port) {

this.port = port

serverSocket = null

sockets = new ArrayList<Socket>()

ranNumber = new Random().nextInt(50)

}

/*

 * 启动服务器

 */

public void starServer() {

try {

// 第一步:建立服务器连接(绑定监听端口)

serverSocket = new ServerSocket(port)

System.out.println("姚舜的服务器已经启动...")

Socket socket// 客户端连接(如果建立连接时,本机网络不容或服务器程序未启动则会抛出异常)

ServerThread serverThread

Thread t2

while (!ISEND) {

// 第二步:监听端口(获取客户端连接)

socket = serverSocket.accept()

if (ISEND) {

while (!socket.isClosed()) {

socket.close()

Thread.sleep(100)

}

} else {

sockets.add(socket)

serverThread = new ServerThread(this, socket)

t2 = new Thread(serverThread)

t2.start()

}

}

for (Socket s : sockets) {

s.close()

}

serverSocket.close()

} catch (Exception e) {

e.printStackTrace()

}

}

public static void main(String[] args) {

TcpSocketServerDemo tDemo = new TcpSocketServerDemo(1000)

tDemo.starServer()

}

/**

 * 校验

 * 

 * @param i

 * @return

 */

public int check(int i) {

if (i < ranNumber) {

return -1

} else if (i > ranNumber) {

return 1

}

return 0

}

}

/**

 * 服务端处理线程

 *

 */

class ServerThread implements Runnable {

private TcpSocketServerDemo tDemo

private Socket socket

private DataInputStream dis// 输入流(读取数据)

private DataOutputStream dos// 输出流(发送数据)

public ServerThread(TcpSocketServerDemo tDemo, Socket socket) {

super()

this.tDemo = tDemo

this.socket = socket

try {

dis = new DataInputStream(socket.getInputStream())

dos = new DataOutputStream(socket.getOutputStream())

} catch (IOException e) {

e.printStackTrace()

}

}

public void run() {

String message = ""

int i

int index = 0

int result = 0

while (!message.equals("Quit") && index < 5) {

try {

message = dis.readUTF()

} catch (IOException e) {

e.printStackTrace()

}

try {

i = Integer.parseInt(message)

result = tDemo.check(i)

if (result == 1) {

dos.writeUTF("数字大了")

} else if (result == -1) {

dos.writeUTF("数字小了")

}

if (result == 0) {

dos.writeUTF("猜中了")

break

}

} catch (NumberFormatException | IOException e) {

continue

}

index++

}

try {

dis.close()

dos.close()

socket.close()

} catch (IOException e) {

e.printStackTrace()

}

}

}

TcpSocketClientDemo.java

package yaoshun.InetAddress

import java.io.DataInputStream

import java.io.DataOutputStream

import java.io.IOException

import java.net.Socket

import java.net.UnknownHostException

import java.util.Scanner

/*

 * 演示类:TCP客户端

 */

public class TcpSocketClientDemo {

private Socket socket// 客户端连接(如果建立连接时,本机网络不容或服务器程序未启动则会抛出异常)

private DataInputStream dis// 输入流(读取数据)

private DataOutputStream dos// 输出流(发送数据)

// private String serverIP// 服务器IP地址

// private int serverPort// 服务器监听端口

private String sendData// 发送的数据

public TcpSocketClientDemo(String serverIP, int serverPort) throws UnknownHostException, IOException {

// this.serverIP = serverIP

// this.serverPort = serverPort

socket = new Socket(serverIP, serverPort)

dis = new DataInputStream(socket.getInputStream())

dos = new DataOutputStream(socket.getOutputStream())

sendData = null

startClient()

}

public void startClient() {

try {

// 第一步:创建客户端连接

System.out.println("===我的客户端界面===")

// 第二步:客户端向服务器发送数据

int i = 0

Scanner input = new Scanner(System.in)

while (i < 5) {

System.out.println("请输入你的内容(客户端的):")

sendData = input.nextLine()

if (sendData.equals("quit")) {

break

}

dos.writeUTF(sendData)

sendData = dis.readUTF()

System.out.println("接收到服务器内容:" + sendData)

if (i == 5) {

System.out.println("超过允许次数,请重新连接服务器.")

}

if (sendData.equals("猜中了")) {

i = 5

}

i++

}

input.close()

} catch (Exception e) {

e.printStackTrace()

} finally {

// 第四步:关闭输入流、输出流和客户端连接

try {

dis.close()

dos.close()

socket.close()

} catch (Exception e) {

e.printStackTrace()

}

}

}

public static void main(String[] args) {

try {

new TcpSocketClientDemo("127.0.0.1", 1000)

} catch (IOException e) {

e.printStackTrace()

}

}

}