用java写一个机器反向猜数字的程序

package class_experiment_questions;

import java.util.*;

public class nember_guess {
	
	public static void main(String[] args) 
	{
		System.out.println("The problem has you,the user,choose a number between 1 and 10,then I,the computer,will try my best to guess it.");
		int times = 1;	
		Random r = new Random();
		int guess_number = r.nextInt(11); // 此处可以修改成用户自定义输入机器猜数字的范围
		System.out.println("Is it "+guess_number+"?");
		Scanner enter = new Scanner(System.in);
		String judge = enter.next();
		while(judge.equals("n")) 
		{   
			times += 1;
			guess_number = r.nextInt(11);
			System.out.println("Is it "+guess_number+"?");
			judge = enter.next();
		}
			
		if(judge.equals("y"))
		{
			System.out.println("I got your number of "+ guess_number +" in "+ times + " guesses.");
		}
		
	}	
}

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要用Java一个类似Nginx的反向代理,可以参考以下步骤: 1. 创建一个ServerSocket对象,监听指定端口,等待客户端连接。 2. 当有客户端连接时,创建一个新的Socket对象,与客户端建立连接。 3. 读取客户端发送的HTTP请求消息,解析出请求方法、请求URL、请求头等信息。 4. 根据请求URL,选择一个合适的目标服务器,将请求转发给目标服务器。 5. 接收目标服务器返回的HTTP响应消息,将响应消息转发给客户端。 6. 关闭连接,释放资源。 以下是一个简单的Java反向代理的示例代码: ```java import java.net.*; import java.io.*; public class ReverseProxy { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8888); System.out.println("Reverse proxy server listening on port 8888..."); while (true) { Socket clientSocket = serverSocket.accept(); System.out.println("New client connected: " + clientSocket.getInetAddress()); new ProxyThread(clientSocket).start(); } } } class ProxyThread extends Thread { private Socket clientSocket; public ProxyThread(Socket clientSocket) { this.clientSocket = clientSocket; } public void run() { try { // 读取客户端请求 BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); String requestLine = in.readLine(); String[] requestParts = requestLine.split(" "); String method = requestParts[0]; String url = requestParts[1]; String version = requestParts[2]; // 解析请求头 String line; while ((line = in.readLine()) != null && !line.isEmpty()) { System.out.println(line); } // 转发请求 Socket serverSocket = new Socket("localhost", 8080); OutputStream out = serverSocket.getOutputStream(); PrintWriter writer = new PrintWriter(out); writer.print(method + " " + url + " " + version + "\r\n"); writer.print("Host: localhost\r\n"); writer.print("\r\n"); writer.flush(); // 接收响应 BufferedReader serverIn = new BufferedReader(new InputStreamReader(serverSocket.getInputStream())); String responseLine = serverIn.readLine(); System.out.println(responseLine); while ((line = serverIn.readLine()) != null && !line.isEmpty()) { System.out.println(line); } // 转发响应 OutputStream clientOut = clientSocket.getOutputStream(); PrintWriter clientWriter = new PrintWriter(clientOut); clientWriter.print(responseLine + "\r\n"); while ((line = serverIn.readLine()) != null && !line.isEmpty()) { clientWriter.print(line + "\r\n"); } clientWriter.print("\r\n"); clientWriter.flush(); // 关闭连接 serverSocket.close(); clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 这个示例代码非常简单,只是演示了基本的反向代理的实现方式,实际应用中还需要考虑更多的细节问题,如负载均衡、缓存、安全等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

N._

piu~打个赏吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值