抽彩游戏----不重复数字

import java.util.*;

/*
抽彩游戏
*/
public class Sample
{
	public static void main(String[] args)
	{
		Scanner in = new Scanner(System.in);

		System.out.println("请输入抽取多少个数字!");
		int k = in.nextInt();//读取要抽取数字的个数

		System.out.println("请输入在多少范围内的数字中抽取!");
		int n = in.nextInt();//读取最大范围数字

		int[] numbers = new int[n];
		for(int i = 0;i < numbers.length; i++)
		{
			numbers[i] = i+1;//创造出彩球数字
		}
		int[] result = new int[k];//取得的数字不要重复
		for(int i = 0;i<result.length;i++)
		{
			int r = (int)(Math.random() * n);
			System.out.println("随机值:"+r);
			result[i] = numbers[r];//随即取出一个彩球
			numbers[r] = numbers[n-1];//把最后的值放到已经出现的值中,这样可以防止重复。巧妙方法
			n--;//缩小随机范围。
		}
		Arrays.sort(result);//用工具包中的数组工具类对数组进行排序。
		for(int item : result)
		{
			System.out.println(item);
		}
	}
}


你可能感兴趣的:(抽彩游戏----不重复数字)