zoukankan      html  css  js  c++  java
  • 【Java常用类之random类 21】

    一、java中产生随机数的方法主要有三种

        第一种:new Random()

        第二种:Math.random()

        第三种:currentTimeMillis()

        第四种:date,SimpleDateFormat.format

    二、

    1、new Random()

    package com.JavaStudy.wrapperRandom0622;
    
    import java.util.Random;
    
    /**
     * @Author wufq
     * @Date 2020/6/22 14:15
     */
    public class RandomTest01 {
        public static void main(String[] args){
            Random random = new Random();
    
    
            for(int i=0;i<5;i++){
                System.out.print(random.nextInt(5)+"	");
            }
        }
    }
    ====执行结果====
    4    0    2    4    1

    2、Math.random(),返回的数值是[0.0,1.0)的double数值,由于double的精度比较高,并且产生的随机数是小数,所以一般需要强制转换成int类型,取整数

    package com.JavaStudy.wrapperRandom0622;
    
    import java.util.Random;
    
    /**
     * @Author wufq
     * @Date 2020/6/22 14:15
     */
    public class RandomTest01 {
        public static void main(String[] args){
    
            for(int i=0;i<5;i++){
                int ran = (int)(Math.random()*1000);
                System.out.print(ran+"	");
            }
        }
    }
    
    ===执行结果===
    528    630    51    574    464    

    3、currentTimeMillis() 从1970年1月1日0时0分0秒(这与UNIX系统有关)到现在的一个long型的毫秒数,取模之后即可得到所需范围内的随机数。

    package com.JavaStudy.wrapperDate0619;
    
    /**
     * @Author wufq
     * @Date 2020/6/19 16:14
     * 获取1970 1.1号 0时0分0秒到当前时间一共多少毫秒
     */
    public class DateTest01 {
        public static void main(String[] args){
            long now = System.currentTimeMillis();
            System.out.println(now);//1592896959576
        }
    }

    4、SimpleDateFormat.format:把时间转换成字符串来获取随机数

    package com.JavaStudy.wrapperDate0619;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**
     * @Author wufq
     * @Date 2020/6/19 16:30
     * 获取当前时间
     */
    public class DateTest02 {
        public static void main(String[] args){
            Date date = new Date();
    
            System.out.println(date);//Fri Jun 19 16:36:29 CST 2020
    
            //Date格式转换成String格式
            //创建日期格式对象
    //        SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM月dd日 HH:mm:ss SSS");
            SimpleDateFormat simple = new SimpleDateFormat("yyyyMMddHHmmssSSS");
            //开始格式化:Date --> String
            String formatDate =simple.format(date);
            System.out.println(formatDate);
        }
    }
    
    ===执行结果===
    20200623152402706
  • 相关阅读:
    PAT顶级 1015 Letter-moving Game (35分)
    PAT顶级 1008 Airline Routes (35分)(有向图的强连通分量)
    PAT顶级 1025 Keep at Most 100 Characters (35分)
    PAT顶级 1027 Larry and Inversions (35分)(树状数组)
    PAT 顶级 1026 String of Colorful Beads (35分)(尺取法)
    PAT顶级 1009 Triple Inversions (35分)(树状数组)
    Codeforces 1283F DIY Garland
    Codeforces Round #438 A. Bark to Unlock
    Codeforces Round #437 E. Buy Low Sell High
    Codeforces Round #437 C. Ordering Pizza
  • 原文地址:https://www.cnblogs.com/frankruby/p/13182297.html
Copyright © 2011-2022 走看看