集合框架-產生10個1-20之間的隨機數,要求隨機數不能重複

ZHOU_VIP發表於2017-04-24

B:產生10個1-20之間的隨機數,要求隨機數不能重複


package cn.itcast_02;

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

/*
 * 獲取10個1-20之間的隨機數,要求不能重複
 * 
 * 用陣列實現,但是陣列的長度是固定的,長度不好確定。
 * 所以我們使用集合實現。
 * 
 * 分析:
 * 		A:建立產生隨機數的物件
 * 		B:建立一個儲存隨機數的集合。
 * 		C:定義一個統計變數。從0開始。
 * 		D:判斷統計遍歷是否小於10
 * 			是:先產生一個隨機數,判斷該隨機數在集合中是否存在。
 * 					如果不存在:就新增,統計變數++。
 * 					如果存在:就不搭理它。
 * 			否:不搭理它
 * 		E:遍歷集合
 */
public class RandomDemo {
	public static void main(String[] args) {
		// 建立產生隨機數的物件
		Random r = new Random();

		// 建立一個儲存隨機數的集合。
		ArrayList<Integer> array = new ArrayList<Integer>();

		// 定義一個統計變數。從0開始。
		int count = 0;

		// 判斷統計遍歷是否小於10
		while (count < 10) {
			//先產生一個隨機數
			int number = r.nextInt(20) + 1;
			
			//判斷該隨機數在集合中是否存在。
			if(!array.contains(number)){
				//如果不存在:就新增,統計變數++。
				array.add(number);
				count++;
			}
		}
		
		//遍歷集合
		for(Integer i : array){
			System.out.println(i);
		}
	}
}
 


相關文章