java猜字游戏实验报告_JAVA猜字游戏

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

那个数字我没有多加以考虑,试试这个吧!可以猜中的!

import java.io.*;

import java.lang.Math;

class JThread implements Runnable

{

PipedInputStream pin=new PipedInputStream();

PipedOutputStream pot=new PipedOutputStream();

DataInputStream din=new DataInputStream(pin);

DataOutputStream dot=new DataOutputStream(pot);

public void run()

{

try

{

int Real=(int)(Math.random()*100+1);

dot.writeUTF("给你一个1-100的数字,你猜猜看");

while(true)

{

int Guessnum=din.readInt();

if(Guessnum

{

System.out.println("你猜的数字为"+Guessnum+"\n服务器判断为:");

dot.writeUTF("你猜小了呀!");

}

else if(Guessnum==Real)

{

System.out.println("你猜的数字为"+Guessnum+"\n服务器判断为:");

dot.writeUTF("恭喜,答对!");

}

else

{

System.out.println("你猜的数字为"+Guessnum+"\n服务器判断为:");

dot.writeUTF("你猜大了呀!");

}

}

}

catch(Exception x)

{

x.printStackTrace();

}

}

}

class SThread implements Runnable

{

PipedInputStream pin2=new PipedInputStream();

PipedOutputStream pot2=new PipedOutputStream();

DataInputStream din2=new DataInputStream(pin2);

DataOutputStream dot2=new DataOutputStream(pot2);

static boolean isclose=false;

public void run()

{

try

{

int Guess=(int)(Math.random()*100+1);

int min=1;

int max=101;

while(true)

{

String message=din2.readUTF();

System.out.println(message);

if(message.equals("给你一个1-100的数字,你猜猜看"))

{

dot2.writeInt(Guess);

System.out.println("我猜为"+Guess);

}

else if(message.equals("你猜小了呀!"))

{

min=Guess;

Guess=(Guess+max)/2;

dot2.writeInt(Guess);

System.out.println("我猜为"+Guess);

}

else if(message.equals("你猜大了呀!"))

{

max=Guess;

Guess=(Guess+min)/2;

dot2.writeInt(Guess);

System.out.println("我猜为"+Guess);

}

else

{

System.out.println("haha");

isclose=true;

Thread.sleep(1000);

din2.close();

dot2.close();

break;

}

}

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

public class GuessGame

{

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

{

JThread jt=new JThread();

SThread st=new SThread();

jt.pin.connect(st.pot2);

st.pin2.connect(jt.pot);

new Thread(jt).start();

new Thread(st).start();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值