浅析Java随机数与定时器
时间:2020-10-31 19:26:58|栏目: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(); //调用定时任务
}
}
上一篇:Java实现简单堆栈代码
栏 目:JAVA代码
下一篇:java可变参数使用示例
本文标题:浅析Java随机数与定时器
本文地址:http://www.codeinn.net/misctech/17819.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




