精华内容
下载资源
问答
  • 今天小编就为大家分享一篇关于Java生成随机时间的简单随机算法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 主要为大家详细介绍了java随机生成时间字符串的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Java随机 Java真随机

    千次阅读 2016-12-30 14:17:56
    最近发现java自带的随机函数是可以遇见的,自己就根据随机的理解利用cpu和时间随机种子写了一个随机类,希望对你有所启发!!! 不说这么多了直接上源码:public class Random { public static void main(String...

    最近发现java自带的随机函数是可以遇见的,自己就根据随机的理解利用cpu和时间的随机种子写了一个随机类,希望对你有所启发!!!

    不说这么多了直接上源码:

    public class Random {
    
    	public static void main(String[] args) {
    		Random r = new Random((short) 100);
    		for (int i = 0; i < 50; i++) {
    			try {
    				System.out.println(r.next());
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		}
    
    	}
    
    	private short r=0 ;//随机对象范围
    	private boolean isCall =false ;
    	private boolean isCall2 =false ;
    
    
    	public Random (short r){
    		this.r=r;
    
    	}
    
    	Object obj = new Object();
    	public int  next() throws Exception{
    		isCall =false ;
    		isCall2 =false ;
    
    		RandomRunnable	rr1= new RandomRunnable(new Call() {
    			//启动线程后通知
    			@Override
    			void call() {
    				isCall=true;
    				synchronized (obj){
    					obj.notify();
    				}
    			}
    		});
    		RandomRunnable	rr2= new RandomRunnable(new Call() {
    			//启动线程后通知
    			@Override
    			void call() {
    				isCall2=true;
    				synchronized (obj){
    					obj.notify();
    				}
    			}
    		});
    
    		//启动子线程
    		new Thread(rr1).start();
    
    		new Thread(rr2).start();
    
    		//等待子线程启动挑出来
    		while(!isCall || !isCall2){
    			synchronized (obj) {
    				obj.wait();
    			}
    		}
    		long c = System.nanoTime();
    		int t = (int) (c%2 +1);
    		//睡眠1毫秒等运算好
    		//		Thread.sleep(1l);
    		//停止线程运算获取相关值
    		//停止线程运算获取相关值
    		int j1 =rr1.endRunnable();
    		int j2 =rr2.endRunnable();
             if(j1==0)
            	 j1=j2;
             if(j2==0)
            	 j2=j1;
    
    		int j =0;
    		//获取线程运算的数字
    		switch (t) {
    		case 1:
    			j=j1;
    			break;
    		case 2:
    			j=j2;
    			break;
    
    		default: 
    			break;
    		}
    
    		return  j%(r+1);
    	}
    
    
    }
    class RandomRunnable implements Runnable{
    	private int j =0; 
    
    	private Call call;
    
    	private boolean b = true;
    
    	public RandomRunnable(Call call){
    		this.call = call;
    	}
    
    
    
    	@Override
    	public void run() {
    		call.call();
    		while (b&&j<10000000) {
    			j++;
    		}
    	}
    
    
    
    	public int endRunnable(){
    		b=false;
    //				System.out.println(j);
    		return  j;
    	}
    
    
    }
    
    abstract class Call{
    	//运行线程了告诉主线程
    	abstract void call();
    }
    
    运行结果

    展开全文
  • java随机生成时间

    千次阅读 2019-07-08 16:16:08
    private Color getRandColor(int fc, int bc) { // 给定范围获得随机颜色 Random random = new Random(); if (fc > 255) fc = 255; if (bc > 255) bc = 255; in...

    private Color getRandColor(int fc, int bc) { // 给定范围获得随机颜色  
         Random random = new Random();  
        if (fc > 255)  
           fc = 255;  
        if (bc > 255)  
           bc = 255;  
        int r = fc + random.nextInt(bc - fc);  
        int g = fc + random.nextInt(bc - fc);  
        int b = fc + random.nextInt(bc - fc);  
        return new Color(r, g, b);  
       }

    getRandColor(200, 250)

     

    随机生成时间:
    Random   rand   =   new   Random();
    SimpleDateFormat   format   =   new   SimpleDateFormat( "yyyy-MM-dd ");
    Calendar   cal   =   Calendar.getInstance();
    cal.set(1900,   0,   1);
    long   start   =   cal.getTimeInMillis();
    cal.set(2008,   0,   1);
    long   end   =   cal.getTimeInMillis();
    for(int   i   =   0;   i   <   10;   i++)   {
    Date   d   =   new   Date(start   +   (long)(rand.nextDouble()   *   (end   -   start)));
    System.out.println(format.format(d));
    }

    转载于:https://www.cnblogs.com/coconut_zhang/archive/2008/12/02/1346080.html

    展开全文
  • java 随机生成时间字符串

    千次阅读 2017-02-04 10:30:46
    package com.wechat.utils; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by hexun on 2017/2/4. ...public class RandTimeUtils { ... * 生成随机时间 * @param beginD
    package com.wechat.utils;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**
     * Created by hexun on 2017/2/4.
     */
    public class RandTimeUtils {
    
    
        /**
         * 生成随机时间
         * @param beginDate
         * @param endDate
         * @return
         */
        private static Date randomDate(String beginDate,String  endDate ){
    
            try {
    
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    
                Date start = format.parse(beginDate);//构造开始日期
    
                Date end = format.parse(endDate);//构造结束日期
    
                //getTime()表示返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
    
                if(start.getTime() >= end.getTime()){
    
                    return null;
    
                }
    
                long date = random(start.getTime(),end.getTime());
    
                return new Date(date);
    
            } catch (Exception e) {
    
                e.printStackTrace();
    
            }
    
            return null;
    
        }
    
        private static long random(long begin,long end){
    
            long rtn = begin + (long)(Math.random() * (end - begin));
    
            //如果返回的是开始时间和结束时间,则递归调用本函数查找随机值
    
            if(rtn == begin || rtn == end){
    
                return random(begin,end);
    
            }
    
            return rtn;
    
        }
    
        public static void main(String[] args){
            Date randomDate=randomDate("2010-09-20","2017-02-04");
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String resulttime = format.format(randomDate);//构造开始日期
            System.out.println(resulttime);
        }
    }
    

    展开全文
  • java随机数_Java随机

    千次阅读 2020-07-13 20:34:52
    java随机数Java Random class is used to generate a series of random numbers.... Java随机类 (Java Random Class) Random class is part of java.util package. Random类是java.util包的一部分。 An ins...

    java随机数

    Java Random class is used to generate a series of random numbers.

    Java Random类用于生成一系列随机数。

    Java随机类 (Java Random Class)

    • Random class is part of java.util package.

      Random类是java.util包的一部分。
    • An instance of java Random class is used to generate random numbers.

      java Random类的一个实例用于生成随机数。
    • This class provides several methods to generate random numbers of type integer, double, long, float etc.

      此类提供了几种生成整数,双精度,长整型,浮点型等随机数的方法。
    • Random number generation algorithm works on the seed value. If not provided, seed value is created from system nano time.

      随机数生成算法对种子值起作用。 如果未提供,则从系统纳米时间创建种子值。
    • If two Random instances have same seed value, then they will generate same sequence of random numbers.

      如果两个随机实例具有相同的种子值,则它们将生成相同的随机数序列。
    • Java Random class is thread-safe, however in multithreaded environment it’s advised to use java.util.concurrent.ThreadLocalRandom class.

      Java Random类是线程安全的,但是在多线程环境中,建议使用java.util.concurrent.ThreadLocalRandom类。
    • Random class instances are not suitable for security sensitive applications, better to use java.security.SecureRandom in those cases.

      随机类实例不适用于对安全敏感的应用程序,在这种情况下最好使用java.security.SecureRandom

    Java随机构造函数 (Java Random Constructors)

    Java Random class has two constructors which are given below:

    Java Random类具有两个构造函数,如下所示:

    1. Random(): creates new random generator

      Random() :创建新的随机数生成器
    2. Random(long seed): creates new random generator using specified seed

      Random(long seed) :使用指定的种子创建新的随机生成器

    Java随机类方法 (Java Random Class Methods)

    Let’s have a look at some of the methods of java Random class.

    让我们看一下Java Random类的一些方法。

    1. nextBoolean(): This method returns next pseudorandom which is a boolean value from random number generator sequence.

      nextBoolean() :此方法返回下一个伪随机数,它是随机数生成器序列中的布尔值。
    2. nextDouble(): This method returns next pseudorandom which is double value between 0.0 and 1.0.

      nextDouble() :此方法返回下一个伪随机数,该伪随机数是0.0到1.0之间的双精度值。
    3. nextFloat(): This method returns next pseudorandom which is float value between 0.0 and 1.0.

      nextFloat() :此方法返回下一个伪随机数,该伪随机数是介于0.0和1.0之间的float值。
    4. nextInt(): This method returns next int value from random number generator sequence.

      nextInt() :此方法从随机数生成器序列返回下一个int值。
    5. nextInt(int n): This method return a pseudorandom which is int value between 0 and specified value from random number generator sequence.

      nextInt(int n):此方法返回一个伪随机数,它是介于0和随机数生成器序列中指定值之间的int值。

    Java随机示例 (Java Random Example)

    Let’s have a look at the below java Random example program.

    让我们看一下下面的Java Random示例程序。

    package com.journaldev.examples;
    
    import java.util.Random;
    
    /**
     * Java Random Number Example Program
     * 
     */
    public class RandomNumberExample {
    
    	public static void main(String[] args) {
    		
    		//initialize random number generator
    		Random random = new Random();
    		
    		//generates boolean value
    		System.out.println(random.nextBoolean());
    		
    		//generates double value
    		System.out.println(random.nextDouble());
    		
    		//generates float value
    		System.out.println(random.nextFloat());
    		
    		//generates int value
    		System.out.println(random.nextInt());
    		
    		//generates int value within specific limit
    		System.out.println(random.nextInt(20));
    
    	}
    
    }

    Output of the above program is:

    上面程序的输出是:

    false
    0.30986869120562854
    0.6210066
    -1348425743
    18

    Check this post for more about Java Radom Number Generation.

    查看这篇文章,了解有关Java Radom Number Generation的更多信息。

    使用种子生成随机数 (Generate Random Number using Seed)

    There are two ways we can generate random number using seed.

    我们可以通过两种方式使用种子生成随机数。

    Random random = new Random(long seed);
                             
    Random random1 = new Random();
    random1.setSeed(seed);

    The seed is the initial value of the internal state of the pseudorandom number generator which is maintained by method next(int).

    种子是通过方法next(int)维护的伪随机数生成器内部状态的初始值。

    package com.journaldev.examples;
    
    import java.util.Random;
    
    /**
     * Java Random Number Using Seed Example Program
     * 
     * @author pankaj
     *
     */
    public class RadomSeedExample {
    
    	public static void main(String[] args) {
    		
    		//using constructor
    		Random random = new Random(100);
    		System.out.println("Using Constructor");
    		System.out.println(random.nextInt());
    		
    		//using method
    		Random random2 = new Random();
    		random2.setSeed(200);
    		System.out.println("Using Method");
    		System.out.println(random2.nextInt());
    	}
    }

    Output of the above program is:

    上面程序的输出是:

    Using Constructor
    -1193959466
    Using Method
    -1133938638

    What if we pass same seed to two different random number generators?

    如果我们将相同的种子传递给两个不同的随机数生成器怎么办?

    Let’s have a look at the below program and see what happen if we pass same seed to two different random number generators.

    让我们看一下下面的程序,看看如果将相同的种子传递给两个不同的随机数生成器,会发生什么情况。

    package com.journaldev.examples;
    
    import java.util.Random;
    
    /**
     * Java Random Number Using Same Seed Example Program
     * 
     */
    public class RandomNumberSameSeedExample {
    
    	public static void main(String[] args) {
    		
    		//initialize two random number generators using same seed
    		Random random1 = new Random(100);
    		Random random2 = new Random(100);
    		
    		System.out.println(random1.nextInt());
    		System.out.println(random2.nextInt());
    
    	}
    
    }

    Output of the above program is:

    上面程序的输出是:

    -1193959466
    -1193959466

    We can see that it will generate same random number if we pass same seed to two different random number generators.

    我们可以看到,如果我们将相同的种子传递给两个不同的随机数生成器,它将生成相同的随机数。

    Java 8随机类方法 (Java 8 Random Class Methods)

    As you can see from above image, there are many new methods added in Java 8 to Random class. These methods can produce a stream of random numbers. Below is a simple program to generate a stream of 5 integers between 1 and 100.

    从上图可以看到,Java 8中为Random类添加了许多新方法。 这些方法可以产生随机数流。 下面是一个简单的程序,用于生成1到100之间的5个整数的流。

    package com.journaldev.random;
    
    import java.util.Random;
    import java.util.stream.IntStream;
    
    public class JavaRandomExample {
    
    	public static void main(String[] args) {
    
    		Random random = new Random();
    
    		// generate stream of 5 ints between 1 to 100
    		IntStream ints = random.ints(5, 1, 100);
    
    		ints.forEach(System.out::println);
    	}
    
    }

    That’s all for a quick roundup on Java Random Class.

    这就是Java随机类的快速汇总。

    Reference: API Doc

    参考: API文档

    翻译自: https://www.journaldev.com/17111/java-random

    java随机数

    展开全文
  • Java 生成随机日期,时间

    千次阅读 2017-08-01 21:17:15
    java随机生成日期
  • Java代码 随机获取时间

    千次阅读 2018-11-30 15:42:13
    因为一些测试需要获取时间,就写了一下代码,给大家分享一下: package Demo01; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class test03 { public ...
  • Java随机函数

    万次阅读 2017-05-12 16:45:09
    Java有三种获取随机数的方法 一. java.util.Random包下的Random类,通过new一个Random对象来产生随机数。 二. Math.random()方法,产生的随机数是[0,1)之间的一个double数。 三. System.currentTimeMillis(),该...
  • java生成指定时间内的随机时间

    万次阅读 2019-02-13 10:51:44
    public static void main(String[] args) { for (int i=0;i&lt;30;i++){ Date date = randomDate("2019-01-01","2019-01-31"... System.out.println(new SimpleDateFormat("...
  • Java生成指定时间段的一个随机时间

    万次阅读 2018-01-19 17:19:55
    package com.tsjsr.util; import java.text.SimpleDateFormat; import java.util.Date; import junit.framework.TestCase; public class RondomDateTest extends TestCase{ public void testRo
  • java随机生成姓名

    千次阅读 2019-05-12 10:48:45
    * 随机生成姓名 写的粗糙 * */ public static void main(String[] args) { String sXing = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许" + "何吕施张孔曹严华金魏陶姜戚谢邹喻柏...
  • java 随机函数

    千次阅读 2014-12-06 00:30:21
    调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0),返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。在使用Math.Random()的时候需要注意的地方时该...
  • Java 随机文件名

    千次阅读 2008-11-22 10:49:00
    Java时间随即生成文件名的方法:java.util.Date dt = new java.util.Date(System.currentTimeMillis()); SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String
  • import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; public class RandomUtil { .../** * 生成随机文件名:当前年月日时分秒+五位随机数 * * @return */ public...
  • java 随机获取国内IP

    千次阅读 2014-12-05 17:15:00
    * 随机生成国内IP地址 */ public static String getRandomIp() { // ip范围 int[][] range = { { 607649792, 608174079 },// 36.56.0.0-36.63.255.255 { 1038614528, 1039007743 },// 61.232.0.0-61....
  • 380. 常数时间插入、删除和获取随机元素 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。 insert(val):当元素 val 不存在时,向集合中插入该项。 remove(val):元素 val 存在时,从集合中移除该...
  • Java随机生成密码

    千次阅读 2018-06-27 15:36:53
    //以当前时间生成random Random random= new Random( new Date().getTime()); boolean flag= false ; //设置默认密码的长度为1+6位 int length=random.nextInt( 1 )+ 6 ; for ( int i = 0 ; i ; ...
  • 这段时间做项目,涉及到虚拟机 Mac 地址生成,网上找了一些 Java 随机生成 Mac 地址的代码,大多都是从 {‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘a’, ‘b’, ‘c’, ‘e’, ‘d...
  • 随机画圆屏保java

    2013-05-25 16:01:26
    java实现的随机画圆屏保 显示时间和运动小球的小应用程序
  • java随机函数用法Random

    万次阅读 2010-11-12 11:20:00
    import java.util.Random; public class RandomNumber{ public static void main(String[] args) { // 使用java.lang.Math的random方法生成随机数 System.out.println("Math.random(): " + Math....
  • JAVA获取随机日期

    千次阅读 2019-08-05 12:53:29
    import java.text.parseexception; import java.text.simpledateformat; import java.util.date; ... //返回2011-01-01到2011-12-01的一个随机日期 public static void main(string[] ...
  • java生成某个范围内的随机时间

    千次阅读 2013-07-01 16:24:00
    Date randomDate=randomDate("2010-09-20","2010-09-21");... * 生成随机时间 * @param beginDate * @param endDate * @return */ private static Date randomDate(String beginDate,String endDate ){ 
  • Java 随机抽取List集合的数据

    千次阅读 2018-11-19 16:31:20
    LOGGER.info("执行该方法的时间"+new SimpleDateFormat("yy-MM--dd HH-mm-ss").format(new Date())); Map,Object> map = new HashMap, Object>(); Map,String> hashMap = new HashMap,String>(); hashMap.put(...
  • java随机产生几个不同的字符

    千次阅读 2015-04-01 13:33:25
    最近在读《java编程思想》的时候看到了一段代码,目的是随机产生几个不同的字符,看到这个需求第一感觉就是在已产生的字符基础上去判断新的字符是否已经出现,如果出现,就生成新的字符........按照这个逻辑自己敲了...
  • java经典随机加减法游戏

    千次阅读 2018-06-11 11:29:51
    系统随机出10道2个100以内的加减计算题,用户在控制台输入答案,如果答案正确,加10分,否则,不加分.最后计算得分,显示在控制台如果当用户输入200的时候,结束程序,输入得分计算用时,显示在控制台,以秒的形式。 import...
  • 主要为大家详细介绍了java生成指定范围的随机日期,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 本文章给大家总结了在java中生成随机密码的几种函数,一种是随机长度密码,另一种是用户固定长度密码。
  • java随机生成小数、字符串

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 244,823
精华内容 97,929
关键字:

java随机时间

java 订阅