java吧 关注:1,300,753贴子:12,845,414
  • 6回复贴,共1

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<Real)
{
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("你猜小了呀!"))
{
Guess=(Guess+max)/2;
dot2.writeInt(Guess);
System.out.println("我猜为"+Guess);
}
else if(message.equals("你猜大了呀!"))
{
Guess=(Guess+min)/2;
dot2.writeInt(Guess);
System.out.println("我猜为"+Guess);
}
else 
{
System.out.println("haha");

}
}
}

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();
}
}


1楼2008-03-25 21:19回复
    • 60.30.96.*
    我玩了,为什么就那么几个数字,应该有个猜中才好啊


    2楼2008-03-25 22:26
    回复
      2026-04-02 09:32:28
      广告
      不感兴趣
      开通SVIP免广告
      那个数字我没有多加以考虑,试试这个吧!可以猜中的!
      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<Real)
      {
      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();
      }
      }


      3楼2008-03-26 12:44
      回复
        还没学IO包。。郁闷。。。先复制了哈。。

        以后研究


        IP属地:上海5楼2008-03-26 22:12
        回复
          • 218.72.21.*
          这个太容易了啊
          初学java2个星期就会了


          6楼2008-03-27 00:37
          回复
            • 221.192.237.*
            import java.util.*;
            import java.io.*;
            public class CaiShu{
            public static void main(String[] args) throws IOException{
            Random a=new Random();
            int num=a.nextInt(100);
            System.out.println("请输入一个100以内的整数:");
            for (int i=0;i<=9;i++){
            BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
            String str=bf.readLine();
            int shu=Integer.parseInt(str);
            if (shu>num)
            System.out.println("输入的数大了,输小点的!");
            else if (shu<num)
            System.out.println("输入的数小了,输大点的!");
            else {
            System.out.println("恭喜你,猜对了!");
            if (i<=2)
            System.out.println("你真是个天才!");
            else if (i<=6)
            System.out.println("还将就,你过关了!");
            else if (i<=8)
            System.out.println("但是你还……真笨!");
            else
            System.out.println("你和猪没有两样了!");
            break;}
            }
            }
            }


            7楼2010-06-15 19:50
            收起回复