package cn.itcast_02;
import java.util.ArrayList; import java.util.Random;
/* * 獲取10個(gè)1-20之間的隨機(jī)數(shù),要求不能重復(fù) * * 用數(shù)組實(shí)現(xiàn),但是數(shù)組的長(zhǎng)度是固定的,長(zhǎng)度不好確定。 * 所以我們使用集合實(shí)現(xiàn)。 * * 分析: * A:創(chuàng)建產(chǎn)生隨機(jī)數(shù)的對(duì)象 * B:創(chuàng)建一個(gè)存儲(chǔ)隨機(jī)數(shù)的集合。 * C:定義一個(gè)統(tǒng)計(jì)變量。從0開(kāi)始。 * D:判斷統(tǒng)計(jì)遍歷是否小于10 * 是:先產(chǎn)生一個(gè)隨機(jī)數(shù),判斷該隨機(jī)數(shù)在集合中是否存在。 * 如果不存在:就添加,統(tǒng)計(jì)變量++。 * 如果存在:就不搭理它。 * 否:不搭理它 * E:遍歷集合 */ public class RandomDemo { public static void main(String[] args) { // 創(chuàng)建產(chǎn)生隨機(jī)數(shù)的對(duì)象 Random r = new Random();
// 創(chuàng)建一個(gè)存儲(chǔ)隨機(jī)數(shù)的集合。 ArrayList<Integer> array = new ArrayList<Integer>();
// 定義一個(gè)統(tǒng)計(jì)變量。從0開(kāi)始。 int count = 0;
// 判斷統(tǒng)計(jì)遍歷是否小于10 while (count < 10) { //先產(chǎn)生一個(gè)隨機(jī)數(shù) int number = r.nextInt(20) + 1; //判斷該隨機(jī)數(shù)在集合中是否存在。 if(!array.contains(number)){ //如果不存在:就添加,統(tǒng)計(jì)變量++。 array.add(number); count++; } } //遍歷集合 for(Integer i : array){ System.out.println(i); } } }
結(jié)果:
3 4 7 17 5 9 15 19 18 16
|