新手求教
import java.util.*;
public class LotteryDrawing {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int k=in.nextInt();
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];
n--;
}
Arrays.sort(result);
for(int r:result)
System.out.println(r);
}
}
为什么result[i]里的数字没有重复的。。。
------解决方案--------------------
注意这两句话:
numbers[r]=numbers[n-1];
n--;
取走一个,相当于就从numbers中移除了一个,当然不重复了。