java实验2 与服务器玩猜数游戏。 客户端和服务器建立套接字后,服务器向客户发送一个1~100之间的随机数,用户将自己的猜测发送给服务器,服务器向用户发送信息“猜大了”“猜小了”“猜对了”。 :
时间: 2023-11-22 15:05:07 浏览: 196
一个使用Java编写的简单猜数字游戏 这个游戏让玩家猜一个在1到100之间的随机数 你可以通过这个基础框架扩展游戏的功能
下面是一个简单的 Java 实现,包括客户端和服务器端:
服务器端代码:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws Exception {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器已启动,等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接...");
int num = (int)(Math.random() * 100) + 1;
System.out.println("服务器随机生成的数字为:" + num);
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);
while (true) {
String str = br.readLine();
int guess = Integer.parseInt(str);
System.out.println("客户端猜测的数字为:" + guess);
if (guess == num) {
pw.println("猜对了");
break;
} else if (guess > num) {
pw.println("猜大了");
} else {
pw.println("猜小了");
}
}
socket.close();
serverSocket.close();
}
}
```
客户端代码:
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("localhost", 8888);
System.out.println("已连接服务器...");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
while (true) {
System.out.print("请输入您猜测的数字(1~100):");
String str = br.readLine();
int guess = Integer.parseInt(str);
out.println(guess);
String result = in.readLine();
System.out.println("服务器返回的结果为:" + result);
if (result.equals("猜对了")) {
break;
}
}
socket.close();
}
}
```
运行客户端和服务器端,就可以开始游戏了。
阅读全文