欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅析Java随机数与定时器

程序员文章站 2022-05-03 10:26:13
产生90-100的重复的随机数: public class randomtest { public static void main(string[] ar...

产生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(); //调用定时任务
 } 
} 

本文转载于: