Scanner in = new Scanner(System.in);
System.out.print("How many numbers do you need to draw? ");
int k = in.nextInt();
System.out.print("What is the highest number you can draw? ");
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);
result[i] = numbers[r];
numbers[r] = numbers[n - 1]; /*例如k=n=5;如果第一次r=0,sesult[0]=numbers[0]
n--;
} =1, numbers[0]=numbers[4]=5, 第二次r=0,result[1]=
numbers[0]=5, numbers[0]=numbers[3]=4;第三次r=4,
result[2]=numbers[4]=5; result[1]=result[2]=5(结
果不会重复出现相同值)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货