递归实现随机数不重复问题

今天朋友求助,要求随机5个数,并且不能重复,其实这个写起来蛮简单的,我的第一想法就是递归实现,可是最后在一个小地方卡了快半个小时,把我整的汗流浃背的,最终还是我胜利了,解决了,我把代码贴出来.

public class Random {

	public static int[] randoms = new int[5];

	public static void main(String[] args) {
		for (int i = 0; i < 5; i++) {
			randoms[i] = getRandom();
			System.out.print(randoms[i] + "|");
		}
	}

	// 获取单个随机数
	static int random =0;
	public static int getRandom() {
		random= (int) (Math.random() * 5 + 1);
		for (int j = 0; j < randoms.length; j++) {
			if (random == randoms[j]) {
				getRandom();
			}
		}
		return random;
	}
}

 

posted @ 2012-02-04 23:48  Paul.Lau  阅读(575)  评论(0编辑  收藏  举报