java 计算随机数_JAVA获取随机数
在Java中我們能夠使用java.util.Random類來產生一個隨機數發生器。它有兩種形式的構造函數,各自是Random()和Random(long seed)。Random()使用當前時間即System.currentTimeMillis()作為發生器的種子,Random(long seed)使用指定的seed作為發生器的種子。
隨機數發生器(Random)對象產生以后,通過調用不同的method:nextInt()、nextLong()、nextFloat()、nextDouble()等獲得不同類型隨機數。
1>生成隨機數
Random random = new Random();
Random random = new Random(100);//指定種子數100
random調用不同的方法,獲得隨機數。
假設2個Random對象使用同樣的種子(比方都是100),而且以同樣的順序調用同樣的函數,那它們返回值全然同樣。如以下代碼中兩個Random對象的輸出全然同樣
import java.util.*;
class TestRandom {
public static void main(String[] args) {
Random random1 = new Random(100);
System.out.println(random1.nextInt());
System.out.println(random1.nextFloat());
System.out.println(random1.nextBoolean());
Random random2 = new Random(100);
System.out.println(random2.nextInt());
System.out.println(random2.nextFloat());
System.out.println(random2.nextBoolean());
}
}
2>指定范圍內的隨機數
隨機數控制在某個范圍內,使用模數運算符%
import java.util.*;
class TestRandom {
public static void main(String[] args) {
Random random = new Random();
for(int i = 0; i < 10;i++) {
System.out.println(Math.abs(random.nextInt())%10);
}
}
}
獲得的隨機數有正有負的,用Math.abs使獲取數據范圍為非負數
3>獲取指定范圍內的不反復隨機數
import java.util.*;
class TestRandom {
public static void main(String[] args) {
int[] intRet = new int[6];
int intRd = 0; //存放隨機數
int count = 0; //記錄生成的隨機數個數
int flag = 0; //是否已經生成過標志
while(count<6){
Random rdm = new Random(System.currentTimeMillis());
intRd = Math.abs(rdm.nextInt())%32+1;
for(int i=0;i
if(intRet[i]==intRd){
flag = 1;
break;
}else{
flag = 0;
}
}
if(flag==0){
intRet[count] = intRd;
count++;
}
}
for(int t=0;t<6;t++){
System.out.println(t+"->"+intRet[t]);
}
}
}
總結
以上是生活随笔為你收集整理的java 计算随机数_JAVA获取随机数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: boot定时任务开启和关闭 spring
- 下一篇: qc成果报告范例_QC推进这样做才是货真