• Java基础知识强化之集合框架笔记35:List练习之产生10个1~20之间的随机数(要求:随机数不能重复)


    1. 需求:获取10个1-20之间的随机数,要求不能重复

    用数组实现,但是数组的长度是固定的,长度不好确定。
    所以我们使用集合实现。

    分析:
       创建产生随机数的对象
       创建一个存储随机数的集合。
       定义一个统计变量。从0开始。
       判断统计遍历是否小于10
          是:先产生一个随机数,判断该随机数在集合中是否存在。
              如果不存在:就添加,统计变量++。
              如果存在:就不搭理它。
            否:不搭理它
           遍历集合

    2. 代码实现:

     1 package cn.itcast_02;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Random;
     5 
     6 /*
     7  * 获取10个1-20之间的随机数,要求不能重复
     8  * 
     9  * 用数组实现,但是数组的长度是固定的,长度不好确定。
    10  * 所以我们使用集合实现。
    11  * 
    12  * 分析:
    13  *         A:创建产生随机数的对象
    14  *         B:创建一个存储随机数的集合。
    15  *         C:定义一个统计变量。从0开始。
    16  *         D:判断统计遍历是否小于10
    17  *             是:先产生一个随机数,判断该随机数在集合中是否存在。
    18  *                     如果不存在:就添加,统计变量++。
    19  *                     如果存在:就不搭理它。
    20  *             否:不搭理它
    21  *         E:遍历集合
    22  */
    23 public class RandomDemo {
    24     public static void main(String[] args) {
    25         // 创建产生随机数的对象
    26         Random r = new Random();
    27 
    28         // 创建一个存储随机数的集合。
    29         ArrayList<Integer> array = new ArrayList<Integer>();
    30 
    31         // 定义一个统计变量。从0开始。
    32         int count = 0;
    33 
    34         // 判断统计遍历是否小于10
    35         while (count < 10) {
    36             //先产生一个随机数
    37             int number = r.nextInt(20) + 1;
    38             
    39             //判断该随机数在集合中是否存在。
    40             if(!array.contains(number)){
    41                 //如果不存在:就添加,统计变量++。
    42                 array.add(number);
    43                 count++;
    44             }
    45         }
    46         
    47         //遍历集合
    48         for(Integer i : array){
    49             System.out.println(i);
    50         }
    51     }
    52 }

    运行效果如下:

  • 相关阅读:
    实现一个文件系统
    ICN开发指导
    GPU in container
    docker debug
    内核代码中一些c语言用法
    各种Tree的python 实现
    intel VT-X (VMX) spec 解读
    intel VT-D (iommu) spec 解读
    正交幅度调制QAM
    Load balancer does not have available server for client:xxx
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4855918.html
Copyright © 2020-2023  润新知