看板java
标 题Re: [问题] 1-42取出6+1个数字
发信站KKCITY (Thu Jul 13 11:47:18 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!bbs.ee.ntu!zoonews.ee.ntu!n
※ 引述《[email protected] (ing)》之铭言:
> ※ 引述《[email protected] (有女生愿意跟我聊天的吗~)》之铭言:
> : 原文怒删
> : 用Set就可以就不会产生重复了
> : 1.把乱数产生的数值丢到Set
> : 2.检查数目有几个...不够继续产生乱数
> : 3.一直重复...直到7个数目
> 要不重复其实很简单
> 生一个存有 1 - 42 的 array
> 然後{乱数取两个出来交换}重覆个一两百次
> 然後随便抓随便有 而且一定不会重复 = =
可以玩一下Collections :)
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class Lotto {
public static void main(String[] args) {
List<Integer> l = new ArrayList();
for (int i = 1; i < 42; i++) {
l.add(new Integer(i));
}
Collections.shuffle(l);
Iterator it = l.iterator();
int count = 7;
while (count-- > 1) {
System.out.print(it.next() + "\t");
}
System.out.println("\n" + it.next());
}
}
--
┌─────◆KKCITY◆─────┐ ■ KKBOX 可立刻 听音乐 ■
│ bbs.kkcity.com.tw │ ■■所有想找的歌通通不必等 ■■
└──《From:163.26.34.105
》──┘ ■■■http://www.kkbox.com.tw■■■
--