⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example9_6.java

📁 用两个线程玩猜数字游戏 第一个线程给出1至100之间的整数
💻 JAVA
字号:


public class Example9_6 
{
  public static void main(String[]args)
  {
	  Numble numble=new Numble();
	  numble.giveNumbleThread.start();
	  numble.guessNumbleThread.start();
  }
}
class Numble implements Runnable
{
  int realNumble,guessNumble,min=0,max=100,message;
  final int SMALLER=-1,LARGER=1,SUCCESS=8;
  Thread giveNumbleThread,guessNumbleThread;
  Numble()
  {
	  giveNumbleThread=new Thread(this);
	  guessNumbleThread=new Thread(this);
  }
  public void run()
  {
	  for(int count=1;true;count++)
	  { if(Thread.currentThread()==giveNumbleThread)
	    {
		  if(count==1)
		  {
			  realNumble=(int)(Math.random()*100)+1;
			  System.out.println("随机给你一个数,猜猜是多少?");
		  }
		  else
		  {
			  if(realNumble>guessNumble)
			  {
				  message=SMALLER;
				  System.out.println("你猜小了");
			  }
			  else if(realNumble<guessNumble)
			  {
				  message=LARGER;
				  System.out.println("你猜大了");  
			  }
			  else
			  {
				  message=SUCCESS;
				  System.out.println("恭喜,你猜对了");
				  return;
			  }
		  }
		  try{
			  Thread.sleep(1500);
		  }
		  catch(Exception e){};
	    }
	    if(Thread.currentThread()==guessNumbleThread)
	    {
	    	if(count==1)
	    	{
	    		guessNumble=(min+max)/2;
	    		System.out.println("我第"+count+"次猜这个数是"+guessNumble);
	    	}
	    	else 
	    	{
	    		if(message==SMALLER)
	    		{
	    			min=guessNumble;
	    			guessNumble=(min+max)/2;
	    			System.out.println("我第"+count+"次猜这个数是"+guessNumble);
	    		}
	    		else if(message==LARGER)
	    		{
	    			max=guessNumble;
	    			guessNumble=(min+max)/2;
	    			System.out.println("我第"+count+"次猜这个数是"+guessNumble);
	    		}
	    		else if(message==SUCCESS)
	    		{
	    			System.out.println("我成功了!");
	    			return;
	    		}
	    	}
	    	try{
	    		Thread.sleep(1500);
	    	}
	    	catch(Exception e){}
	    }
	  }
  }
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -