/**
*@author Cay Horstmann
*另解:也可用ArrayList实现
*/
import java.util.Arrays;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("总共能抽几次?");
int k = sc.nextInt();
System.out.println("能抽到的最大数字是:");
int n = sc.nextInt();
//将原始数据传入集合
int [] nums = new int[n];
for (int i = 0; i < nums.length; i++) {
nums[i] = i + 1;
}
//用第二个数组存放抽取出来的值
int [] result = new int[k];
//抽取k个值
// Math.random()方法将返回一个0~1之间的值
for (int i = 0; i < result.length; i++) {
int r = (int) (Math.random() * n);
result[i] = nums[r];
//把数组最后一个元素拿来补充不符的元素的位置,因为后面一步需要删除最后一个元素
nums[r] = nums[n - 1];
//删除最后一个元素
n--;
}
//排序
Arrays.sort(result);
System.out.print("抽到的数字按升序排列为:");
for(int r : result) {
System.out.print(r + " ");
}
System.out.println("");
//上面的foreach循环完之后代码就结束了
//下面这行是把分散的数字放进[]里
System.out.println(Arrays.toString(result));
}
}
抽彩游戏:产生一个随机的数值组合,数值不能重复,最后升序排列。
最新推荐文章于 2021-10-24 17:12:32 发布