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

~

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

解决办法很多,

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

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

参考代码:数组法

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;
ArrayList<Integer> list=new ArrayList<Integer>();
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超市抽奖 1 抽取5名 2 共500名,号码从1到500 3 随机从中抽取一名...
答:public class Main { //对5个幸运号码排序 static void bubble_sort(int[] unsorted) { for (int i = 0; i < unsorted.length; i++) { for (int j = i; j < unsorted.length; j++) ...

一道java编程题
答:import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Random;public class superMaket { public static void main(String args[]) { System.out.print("请输入一个整数:");BufferedReader ...

求java代码
答:代码:结果:

Java里怎么写 这个代码 某次程序大赛,3 个班级各 4 名学员参赛,计算每 ...
答:package com.baidu.map;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;public class Test...

java编写程序.设某班50人,写程序统计某一单科成绩各分数段的分布人数...
答:if(){} else{}

抽奖程序 用JAVA做 求代码
答:这里是提问和回答用的。写的时候遇到什么困难可以问的。用随机数,抽中一个就不要再次抽中同样的号码,就可以了。

用Java代码实现如图:班级,专业,系部,联系在一起的代码,急需!谢谢
答:jl8=new JLabel("班级:");jl9=new JLabel("邮箱:");jl10=new JLabel("联系方式:");jl11=new JLabel("男");jl12=new JLabel("女");jl13=new JLabel(" ");jl14=new JLabel(" ");jrb1=new...

Java编程,做一个最简单的输出程序,输出内容:姓名,班级,专业
答:"); } }这段代码创建了一个名为SimpleOutput的公共类,并在其中定义了一个名为main的方法。main方法是Java程序的入口点。当你运行这个程序时,它会执行main方法中的代码。在main方法中,我们使用System.out.println...

用JAVA实现某校的惯例是在每学期期末考试后发放奖学金,发放的奖学金...
答:var n,k,max:longint;s:string;qm,bj,lw,jj:array[1..100]of longint;gb,xb:array[1..100]of char;names:array[1..100]of string;procedure init;var i,x,y,z:longint;t:string;tt:char;begin y:=0;r...

② 编写一个Java程序(使用嵌套if结构),输入总分与爱好,如果总分在500...
答:System.out.println("进入慢班");if(favourite.equals("java")){ System.out.println("进行jsp,SSH的学习");System.exit(0);}else if(favourite.equals("c#")){ System.out.println("进行ASP.Net的学习");System....

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网