浅析Java随机数与定时器

时间:2021-05-19

产生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:///archives/301.html

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章