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

让我恰个饭吧.ヘ( ̄ω ̄ヘ)

支付宝 ——————- 微信
图片加载中图片加载中



恰饭广告

发表评论

电子邮件地址不会被公开。 必填项已用*标注

47 − = 43