java抽取代码 java抽奖代码思路

请问用java从1-33个整数中随机抽取6个数字 且不重复 1-16随机抽取一个数,给小球?

完整代码为:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名虚拟主机、营销软件、网站建设、南宫网站维护、网站推广。

public class Main {

public static void main(String[] args) {

int index = 1;

int[] redBalls = new int[6];

Random random = new Random();

boolean getMoreRed = true;

boolean getAgain;

System.out.println("开始抽取红球!");

while (getMoreRed) {

getAgain = false;

int red = random.nextInt(36) + 1;

System.out.print("本次抽取到的红球为:[" + red + "]!");

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

if (redBalls[i] == red) {

System.out.print("重复抽取,将重新抽取红球");

getAgain = true;

break;

}

}

System.out.println("");

if (getAgain){

continue;

}

redBalls[index - 1] = red;

index++;

getMoreRed = index 7;

}

System.out.println("抽取到的红球为:");

Arrays.sort(redBalls);

for (int redBall : redBalls) {

System.out.print(redBall + " ");

}

System.out.println("\n\n开始抽取蓝球!");

System.out.println("本次抽取到的蓝球为:[" + (random.nextInt(16) + 1) + "]!");

}

}

运行结果:

普通抽取:

重复时抽取:

Java随机抽取人名完整代码是什么?

public class test {\x0d\x0a public static void main(String[] args) {\x0d\x0a //定义人名数组\x0d\x0a String [] name = {"张三","李四","王五","八神庵","不知火舞","大蛇","景天","唐雪见","李逍遥","赵灵儿"};\x0d\x0a//随机生成数组下标、\x0d\x0a int num = (int)(Math.random() * 1000);\x0d\x0a//对生成的随机数进行判断,如果小于数组下标,就跳出循环\x0d\x0awhile (numname.length-1) {\x0d\x0a if (num

回答于 2022-11-16

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抽取代码 java抽奖代码思路
文章地址:http://cdiso.cn/article/dojppee.html

其他资讯