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://myzitong.com/article/ddjjiic.html