iT邦幫忙

DAY 6
1

java菜鳥的學習筆記系列 第 6

腦殘式的產生0~9不重複的數字

  • 分享至 

  • xImage
  •  

用java.util.Random類別中的nextInt(n)方法,可以亂數產生0~(<n)的數字,但不保證不重複,所以就想一個產生一個list決不會有數字重複問題,方法很有多,我這個方法應該不聰明才是....

package random;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class VerCode{
	Random rd = new Random(); //產生Random物件
	List<Integer> al=new ArrayList<>();
	
	public void genCode() {
		// TODO Auto-generated method stub
		while(al.size()<=10){ //總共10個數字
				int n=rd.nextInt(10); //產生0~9數字
				if(al.contains(n)) 
					continue;     //重複的不加入
				else
					al.add(n);
				System.out.println(n);
				}
	}
}

上一篇
使用java NIO2-Part 2, WacthService
下一篇
灰煞煞之Java FX 2.0-Properties and Bindings-Part 1
系列文
java菜鳥的學習筆記28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
carl830
iT邦研究生 5 級 ‧ 2012-10-22 02:30:52

我的作法是先產生0~9放到陣列
接下來隨機選0~9
如果選到3就把最後一個數字移到陣列3的位置上
所以變成0 1 2 9 4 5 6 7 8
接下來減少隨機數字的範圍0~8
可以保證只要跑10次 不會有重複的情況

我要留言

立即登入留言