一个多线程的摇奖器的例子(Jbuilder6下通过测试),供初学者研究!!!

发表于:2007-07-04来源:作者:点击数: 标签:
在第一个类中定义三个void方法用于产生随机数 import java .util.Random; public class YaoJiangQi { private intbaseint=9; ////////////////////////////// public void winningone() { Random random=new Random(); random.setSeed(11l);//这里可以用不同
在第一个类中定义三个void方法用于产生随机数
import java.util.Random;
public class YaoJiangQi {
private int  baseint=9;
//////////////////////////////
public void winningone()
{
  Random random=new Random();
  random.setSeed(11l);//这里可以用不同的种子(long)
  int[] numberline=new int[7];
  System.out.print("一等奖号码为: ");
  for(int i=0;i<=6;i++)
  {
   if(i==0)
    numberline[i]=random.nextInt(baseint)+1;
   else
    {
     for(int j=0;j<i;j++)
     {
      if(numberline[i]==numberline[j])
        numberline[i]=random.nextInt(baseint)+1;
      }
    }
   System.out.print(numberline[i]);
   }
   System.out.print("\n");
  }
  /////////////////////////////////
public void winningtwo()
{
  Random random=new Random();
  random.setSeed(22l);
  int[] numberline=new int[7];
  System.out.print("二等奖号码为: ");
  for(int i=0;i<=6;i++)
  {
   {
   if(i==0)
    numberline[i]=random.nextInt(baseint)+1;
   else
    {
     for(int j=0;j<i;j++)
     {
      if(numberline[i]==numberline[j])
        numberline[i]=random.nextInt(baseint)+1;
      }
     }
    }
    System.out.print(numberline[i]);
   }
   System.out.print("\n");
}
  ///////////////////////////////
public void winningthree()
{
  Random random=new Random();
  random.setSeed(33l);
  int[] numberline=new int[7];
  System.out.print("三等奖号码为: ");
  for(int i=0;i<=6;i++)
  {
   {
   if(i==0)
    numberline[i]=random.nextInt(baseint)+1;
   else
    {
     for(int j=0;j<i;j++)
     {
      if(numberline[i]==numberline[j])
        numberline[i]=random.nextInt(baseint)+1;
      }
    }
    }
   System.out.print(numberline[i]);
   }
  }
  ////////////////////////
}
定义三个线程
public class Yaoone extends Thread{
public void run()
{
  YaoJiangQi yao1=new YaoJiangQi();
  yao1.winningone();
}
}
//////////////////////////////
public class Yaotwo extends Thread{
public void run()
{
  YaoJiangQi yao2=new YaoJiangQi();
  yao2.winningtwo();
  }
}
//////////////////////////////////
public class Yaothree extends Thread{
public void run()
{
  YaoJiangQi yao3=new YaoJiangQi();
  yao3.winningthree();
  }
}
///////////////////////

测试
public class TryYaoJiangQi {
  public static void main(String[] args) {
  try{
   Thread thread1=new Yaoone();
   Thread thread2=new Yaotwo();
   Thread thread3=new Yaothree();
   thread1.setPriority(3);
   thread2.setPriority(2);
   thread3.setPriority(1);
   thread1.start();
   thread2.start();
   thread3.start();
  }
  catch(Exception e)
  {
   e.printStackTrace();
  }
}
}
//////////////////////////////////
怎么样?是不是可以实现?当然了,你也可以加上窗体,这样界面会更好的!!你自己试一下就行了!!!
共同学习,共同进步!!

原文转自:http://www.ltesting.net