zoukankan      html  css  js  c++  java
  • 随机数Random

    创建随机数案例:

    package com.javase.random;
    
    
    import java.util.Random;
    
    
    /*
    随机数
    */
    public class RandomTest01 {
        public static void main(String[] args) {
            // 创建随机数对象。
            Random random = new Random();
            
            // 随机产生一个int类型取值范围内的数字。
            int num1 = random.nextInt();
            System.out.println(num1);
            
            // 产生0到100之间的随机数,不能产生101
            // nextInt翻译为:下一个int类型的数据是101,表示只能取到100
            int num2 = random.nextInt(101);// 不包括101
            System.out.println(num2);
            
        }
    }

    生成五位不重复随机数:

    package com.javase.random;
    
    
    import java.util.Arrays;
    import java.util.Random;
    
    
    /*
    编写程序,生成5个不重复的随机数。重复的话重新生成
    最终生成的5个随机数放到数组中,要求数组中这5个随机数不重复。
    */
    public class RandomTest02 {
        public static void main(String[] args) {
            
            // 创建Random对象
            Random random = new Random();
            
            int count = 0;
            
            // 准备一个长度为5的一维数组
            int[] arr = new int[5];// 默认值都是0
        
            for (int i = 0; i < arr.length; i++) {
                arr[i] = -1;
            }
            
            // 声明一个下标变量
            int index = 0;
            
            while (index < arr.length){
                // 生成随机数
                int number = random.nextInt(5);
                // 判断arr数组中有没有这个num
                // 如果没有这个num,就放进去
                if(!contains(arr,number)){
                    arr[index++] = number;
                }
                count++;
            }
            
            Arrays.sort(arr);
            
            for (int i = 0; i < arr.length; i++) {
                System.out.print("最终的数组为 " + arr[i]);
                System.out.println();
            }
        
            System.out.println("一共循环了 = " + count + "次");
        }
        
        /*
        单独写一个方法,判断这个数组中是否包含这个元素
         */
        public static boolean contains(int[] arr,int key){
            /*// 这样写有BUG
            // 对数组进行升序
            Arrays.sort(arr);
            // 进行二分法查找
            // 二分法查找的结果 >= 0 说明,这个元素找到了,找到了表示存在。
            return Arrays.binarySearch(arr,key) >= 0;*/
            
            for (int i = 0; i < arr.length; i++) {
                if(arr[i] == key){
                    // 条件成立了,表示true。不包含返回false
                    return true;
                }
            }
            return false;
        }
    }
  • 相关阅读:
    whereis which type find
    souce and bash 的区别
    systemctl daemon-reload
    linux /etc/profile bashrc bash_profile
    ulimt 和 sysctl
    MySQL 问题总结
    asyncio
    Linux 中 MySQL 操作
    总结一波 Redis 面试题
    os 模块 和 re 模块
  • 原文地址:https://www.cnblogs.com/xlwu/p/13257895.html
Copyright © 2011-2022 走看看