以前用数组做的,优点相对Collection某些实现类要麻烦的多,尤其在判断重复的双色球上,下面是代码: package src; public class ShuangSeQiu { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] a= new int[8]; //System.out.println("请输入要买的注数:"); //java.util.Scanner scanner = new java.util.Scanner(System.in); //int count=scanner.nextInt(); // for(int counter=1;counter<=count;counter++){ for(int counter=1;counter<=1;counter++){ H1: for(int i=0;i<a.length-1;){ int v=(int)(Math.random()*(34-1+1))+1; for(int j=0;j<i;j++){ if(a[j]==v){ continue H1; } } if(v==a[i]){ continue; } a[i]=v; i++; } java.util.Arrays.sort(a,0,a.length-1); a[a.length-1]=(int)(Math.random()*(34-1+1))+1; for(int vs:a){ System.out.print(vs+"/t"); } System.out.println(); } } } 学完Colleciton做的: package t0512; import java.util.LinkedList; import java.util.TreeSet; /* * 用TreeSet获得有序且无重复的红球 * 用LinkedList获得有重复的篮球 */ public class CaiPiao { static void printOnRandom(int count){ // int x=0; for(int i=1;i<=count;i++){ TreeSet lhs = new TreeSet(); while(true){ int v=(int)(Math.random()*(33-1+1))+1; lhs.add(v); if(lhs.size()==6){ break; } } LinkedList ls = new LinkedList(lhs); int v=(int)(Math.random()*(16-1+1))+1; //if用来测试蓝号和红号重合的几率 //平均下来出现的几率为20% // if(ls.contains(v)){ // x++; ls.add(v); System.out.println(ls); // } } // System.out.println((float)x/count); } public static void main(String[] args) { printOnRandom(3); } } 刚看完API做的,继续努力去。