java随机数抽奖代码 java随机数抽奖程序基本思路

Java代码实现抽奖:从班级的学号中抽出一个一等奖,两个二等奖,三个三等奖

抽取问题, 重点是 同一个学号不能重复被抽取.

公司主营业务:成都网站制作、成都网站建设、外贸营销网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出工农免费做网站回馈大家。

解决办法很多,

比如数组可以使用下标来标记,号码是否被使用,使用了就继续下一次抽取

也可以使用集合来抽取,把集合顺序打乱,然后随便抽几个就可以了

参考代码:数组法

import java.util.Random;

public class Test {

public static void main(String[] args) {

int stuNums=30;

int[] nums=new int[stuNums];//存储学号的数组

boolean[] flags=new boolean[stuNums];//标记,用于标记对应下标的学号是否已经被抽取过了

for (int i = 0; i  stuNums; i++) {

nums[i]=i+1;//给学号赋值

}

Random r=new Random();

while(true){

int index = r.nextInt(stuNums);

if(!flags[index]){

System.out.println("A等:"+nums[index]);

flags[index]=true; //标记已经被使用过了

break;

}

}

for (int i = 0; i  2; i++) {

int index = r.nextInt(stuNums);

if(!flags[index]){

System.out.println("B等:"+nums[index]);

flags[index]=true;

}else{

i--;//如果已经被抽取过了 ,那么i建议,再次循环

}

}

for (int i = 0; i  3; i++) {

int index = r.nextInt(stuNums);

if(!flags[index]){

System.out.println("c等:"+nums[index]);

flags[index]=true;

}else{

i--;

}

}

}

}

集合法

import java.util.ArrayList;

import java.util.Collections;

public class Test2 {

public static void main(String[] args) {

int stuNums=20;

ArrayListInteger list=new ArrayListInteger();

for (int i = 0; i  stuNums; i++) {

list.add(i+1);

}

System.out.println("有序"+list);

Collections.shuffle(list);//打乱顺序

System.out.println("乱序"+list);

System.out.println("A等"+list.get(0));

System.out.println("B等"+list.get(1));

System.out.println("B等"+list.get(2));

System.out.println("C等"+list.get(3));

System.out.println("C等"+list.get(4));

System.out.println("C等"+list.get(5));

}

}

java生成8个100-999随机数 并在八个数中抽一个符合的数?

(Math.random()*899)+100

Random生成0-1的随机数,*899则0-899,加100则100-999

循环8次即可

我现在想用java实现一个类似抽取随机数的程序

不需要6个线程,一个就够了,循环即可

类似的js

!DOCTYPE HTML

html

head

meta charset="UTF-8" /

titleMODEL PAGE/title

style type="text/css"

*{

margin: 0;

padding: 0;

}

table {

margin: 0 auto;

border: 1px solid black;

border-collapse: collapse;

border: 1px solid black;

}

td {

border: 1px solid black;

}

#lottery {

background-color: red;

}

/style

script type="text/javascript"

var draw =

{

timer : null,

sleep : 60,

rnd : '000000000',

init : function ()

{

var lottery = this.lottery = document.getElementById ("lottery");

var tr = lottery.insertRow (0);

var arr = this.arr = this.rnd.split ('');

for ( var i = 0; i  arr.length; i++)

{

var td = tr.insertCell (tr.cells.length);

td.style.textAlign = 'center';

var n = document.createTextNode (arr[i]);

td.appendChild(n);

}

var cell = lottery.rows[lottery.rows.length - 1].cells[0];

cell.style.textAlign = 'center';

cell.colSpan = arr.length;

cell.children[0].onclick = this.start;

cell.children[1].onclick = this.stop;

},

start : function ()

{

if (!draw.timer)

{

var row = draw.lottery.rows[0];

draw.timer = setInterval (function ()

{

for ( var i = 0; i  draw.arr.length; i++)

{

row.cells[i].childNodes[0].nodeValue = Math.floor (Math.random () * 10);

}

}, draw.sleep);

}

},

stop : function ()

{

if (!!draw.timer)

{

clearInterval (draw.timer);

draw.timer = null;

}

}

};

window.onload = function ()

{

draw.init ();

}

/script

/head

body

table id="lottery"

tr

td

input type="button" value="开始抽奖" / 

input type="button" value="停止抽奖" /

/td

/tr

/table

/body

/html


分享文章:java随机数抽奖代码 java随机数抽奖程序基本思路
网页链接:http://scyanting.com/article/ddjjiic.html