浅析Java随机数与定时器

 更新时间:2018年02月24日 10:34:42   作者:彬菌  
本篇文章给大家分析了Java随机数与定时器的实现原理以及代码分享,有需要的读者参考下吧。

产生90-100的重复的随机数:

public class RandomTest { 
 public static void main(String[] args){
 	/*
 	 * Math.random()方法默认double类型,所以需要强制转换为int
 	 */
 int x=(int)(Math.random()*(100-90+1)+90); //(max-min+1)+min=min-max
 System.out.println(x); 
 } 
}

产生90-100不重复的随机数:

import java.util.HashSet;
import java.util.Random;
import java.util.Set;

public class RandomTest {
	public static void main(String args[]){
		int max=100; //最大值
		int min=90; //最小值
		int count=max-min; //随机数个数
		Random random = new Random();
		Set<Integer> set=new HashSet<>(); //hashset容器中只能存储不重复的对象
		while(set.size()<count){ //hashset储存的元素数目
			 int x = random.nextInt(max-min+1)+min; //产生随机数
			 set.add(x); //把随机数添加到hashset容器中
		}
		for(int i:set){ //foreach遍历容器元素
			System.out.println(i);
		}
	}
}

每一秒产生90-100的重复的随机数:

import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;

public class RandomTest {
	 void timer(){
		Timer timer = new Timer(); //创建定时对象
		timer.schedule(new TimerTask() {
			public void run() { //TimerTask实现 Runnable接口的run方法
				 Random random = new Random();
				 int x = random.nextInt(100-90+1)+90; //(max-min+1)+min=min至max
//				 int x=random.nextInt(100)%(100-90+1) + 90; //同样的效果
				 System.out.println(x);
			}
			
		},0,1000); //0表示无延迟,1000ms=1s
	}
 public static void main(String[] args){
 	RandomTest ran=new RandomTest();
 	ran.timer(); //调用定时任务
 } 
} 

本文转载于:https://www.idaobin.com/archives/301.html

相关文章

  • java 对象的克隆(浅克隆和深克隆)

    java 对象的克隆(浅克隆和深克隆)

    这篇文章主要介绍了java 对象的克隆的相关资料,这里对浅克隆和深克隆进行了实例分析需要的朋友可以参考下
    2017-07-07
  • SpringCloud 中防止绕过网关请求直接访问后端服务的解决方法

    SpringCloud 中防止绕过网关请求直接访问后端服务的解决方法

    这篇文章主要介绍了SpringCloud中如何防止绕过网关请求直接访问后端服务,本文给大家分享三种解决方案,需要的朋友可以参考下
    2023-06-06
  • Java int与integer的对比区别

    Java int与integer的对比区别

    这篇文章主要介绍了Java int与integer的对比区别的相关资料,需要的朋友可以参考下
    2017-01-01
  • Spring中的ApplicationContext与BeanFactory详解

    Spring中的ApplicationContext与BeanFactory详解

    这篇文章主要介绍了Spring中的ApplicationContext与BeanFactory详解,Spring的IoC容器就是一个实现了BeanFactory接口的可实例化类,事实上, Spring提供了两种不同的容器,一种是最基本的BeanFactory,另一种是扩展的ApplicationContext,需要的朋友可以参考下
    2024-01-01
  • Java对文件的随机读写以及压缩处理操作

    Java对文件的随机读写以及压缩处理操作

    这篇文章主要介绍了Java对文件的随机读写以及压缩处理操作,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10
  • Java中StringBuilder类常用方法总结

    Java中StringBuilder类常用方法总结

    这篇文章主要介绍了Java中StringBuilder类常用方法的相关资料,StringBuilder类是Java中用于频繁修改字符串的可变字符串缓冲区类,它提供了多种方法进行字符串操作,如添加、插入、删除、替换字符等,需要的朋友可以参考下
    2024-12-12
  • SpringBoot整合WebService的实现示例

    SpringBoot整合WebService的实现示例

    本文主要介绍了SpringBoot整合WebService,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • SpringBoot的异常处理流程是什么样的?

    SpringBoot的异常处理流程是什么样的?

    今天给大家带来的是Java的相关知识,文章围绕着SpringBoot的异常处理流程展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • 详解Java在redis中进行对象的缓存

    详解Java在redis中进行对象的缓存

    这篇文章主要介绍了Java在redis中进行对象的缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • JAVA多线程与并发学习总结分析

    JAVA多线程与并发学习总结分析

    以下是对小编对JAVA多线程与并发的学习进行了总结介绍,需要的朋友可以过来参考下
    2013-08-08

最新评论