一个多线程的摇奖器的例子(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