首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

新手求教解决办法

2012-05-22 
新手求教import java.util.*public class LotteryDrawing {public static void main(String[] args) {Sca

新手求教
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中移除了一个,当然不重复了。

热点排行