189 8069 5689

随机抽取学号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程序

import java.util.*;

public class RandomStudentId{

private int studentID;

private Random rand = new Random();

//private Set s = new HashSet();

public void RandID(){

studentID = rand.nextInt(1000); //这里写多少,就是从0到多少的随机数字

}

public int getID(){

return studentID;

}

public String toString(){

return "Student ID: " + studentID;

}

public static void main(String[] args){

RandomStudentId rsi = new RandomStudentId();

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

rsi.RandID();

System.out.println("NO." + rsi.getID());

}

}

}

java 假设一个班级共35人, 学号从1~35, 请编写程序进行随机学号抽取, 每个学号不

import java.util.ArrayList;

import java.util.List;

import java.util.Random;

public class SelectNo {

public static void main(String[] args) {

//将1-35号码放入List集合

ListString list = new ArrayListString();

for (int i = 1; i  36; i++) {

list.add(""+i);

}

//新建一个List集合用来存放抽出来的号码

ListString newList = new ArrayListString();

//随机抽取list集合中的一个元素,抽出后删除

Random rd = new Random();

int count = list.size();//集合中剩余号码

while (count  0) {

int index = rd.nextInt(count);//抽出的号码的位置

//放入新的集合

newList.add(list.get(index));

//删除原有集合的元素

list.remove(index);

count--;//原有集合少了一个

}

//输出号码

for (int i = 0; i  newList.size(); i++) {

System.out.print(newList.get(i)+"\t");

//每五个换行

if(i%5 == 4){

System.out.println("");

}

}

}

}


分享标题:随机抽取学号java代码,随机数java代码
本文地址:http://cdxtjz.cn/article/hdhohs.html

其他资讯