本文目錄一覽:
- 1、java如何產生1-8的整數隨機數?
- 2、java隨機數指定的範圍怎麼做
- 3、如何在java中產生隨機數?
- 4、在java中產生隨機數
- 5、java 生成隨機整數
- 6、如何寫java產生一個隨機8位的數
java如何產生1-8的整數隨機數?
(int)(Math.random()*8)+1
或者
Random r =new Random(100);
System.out.println(r.nextInt(8)+1);
Java產生隨機數的兩種方式
1、通過Math.random()方法返回一個0到1之間的double值。
2、通過Random類來產生一個隨機數,這個是專業的Random工具類,功能強大。
Math.random()方法
Math.random()方法是 Java 的一個靜態方法,返回一個0到1之間,前閉後開區間的double值。
(int)(Math.random()*10) 返回0到9的隨機整數。
(int)(Math.random()*n) 返回0到n的隨機整數。
(int)(Math.random()*100)+1 返回1到100之間的隨機整數,前面返回0到99之間的隨機數,加1就成了1到100之間的隨機數。
Random類
Random 類是 Java 的 util 包中的一個類。
一、Random類使用說明
Random類使用的根本策略是分帶種子和不帶種子的Random的實例。
通俗說,兩者的區別是:帶種子的,每次運行生成的結果都是一樣的。
不帶種子的,每次運行生成的都是隨機的,沒有規律可言。
創建不帶種子的Random對象
Random random = new Random();
使用一個和當前系統時間對應的相對時間有關的數字作為種子數。
創建帶種子的Random對象有兩種方法:
1) Random random = new Random(10);
2) Random random = new Random();random.setSeed(10);
種子的作用是什麼?
種子就是產生隨機數的第一次使用值,機制是通過一個函數,將這個種子的值轉化為隨機數空間中的某一個點上,並且產生的隨機數均勻的散布在空間中。以後產生的隨機數都與前一個隨機數有關。
舉例:
Random r =new Random(100);
System.out.println(r.nextInt(20));
100是種子,r.nextInt(20)中的20是隨機數的上限,產生的隨機數為0-20的整數,不包括20,種子數只是隨機算法的起源數字,和生成的隨機數字的區間沒有任何關係。
初始化時100並沒有起直接作用(注意:不是沒有起作用)。
java隨機數指定的範圍怎麼做
JAVA隨機數指定的範圍標準格式:
Random rand = new Random();
int randNum = rand.nextInt(範圍);
示例:
1.生成0-2之間的隨機數,包括2
Random rand = new Random();
int randNum = rand.nextInt(3);
2.生成5-26之間的隨機數,包括26
Random rand = new Random();
int randNum = rand.nextInt(22)+5;
擴展資料:
random函數使用格式:
新建random類的rand對象
Random rand = new Random();
設定rand的類型以及區間範圍:
int randNum = rand.nextInt(int x)+y;
如何在java中產生隨機數?
在j2se里我們可以使用Math.random()方法來產生一個隨機數,這個產生的隨機數是0-1之間的一個double,我們可以把他乘以一定的數,比如說乘以100,他就是個100以內的隨機,這個在j2me中沒有。
在java.util這個包裏面提供了一個Random的類,我們可以新建一個Random的對象來產生隨機數,他可以產生隨機整數、隨機float、隨機double,隨機long,這個也是我們在j2me的程序里經常用的一個取隨機數的方法。
在我們的System類中有一個currentTimeMillis()方法,這個方法返回一個從1970年1月1號0點0分0秒到目前的一個毫秒數,返回類型是long,我們可以拿他作為一個隨機數,我們可以拿他對一些數取模,就可以把他限制在一個範圍之內。
具體編程方法摘要:
Random()
創建一個新的隨機數生成器。
Random(long seed)
使用單個 long 種子創建一個新隨機數生成器: public Random(long seed) { setSeed(seed); } next
方法使用它來保存隨機數生成器的狀態。
protected int next(int bits)
生成下一個偽隨機數。
boolean nextBoolean()
返回下一個偽隨機數,它是從此隨機數生成器的序列中取出的、均勻分佈的 boolean 值。
void nextBytes(byte[] bytes)
生成隨機位元組並將其置於用戶提供的位元組數組中。
double nextDouble()
返回下一個偽隨機數,它是從此隨機數生成器的序列中取出的、在 0.0 和 1.0之間均勻分佈的 double 值。
float nextFloat()
返回下一個偽隨機數,它是從此隨機數生成器的序列中取出的、在 0.0 和 1.0 之間均勻分佈的 float 值。
double nextGaussian()
返回下一個偽隨機數,它是從此隨機數生成器的序列中取出的、呈高斯(「正常地」)分佈的 double 值,其平均值是 0.0,標準偏差是 1.0。
int nextInt()
返回下一個偽隨機數,它是此隨機數生成器的序列中均勻分佈的 int 值。
int nextInt(int n)
返回一個偽隨機數,它是從此隨機數生成器的序列中取出的、在 0(包括)和指定值(不包括)之間均勻分佈的 int值。
long nextLong()
返回下一個偽隨機數,它是從此隨機數生成器的序列中取出的、均勻分佈的 long 值。
void setSeed(long seed)
使用單個 long 種子設置此隨機數生成器的種子。
在java中產生隨機數
一、利用random方法來生成隨機數。
在Java語言中生成隨機數相對來說比較簡單,因為有一個現成的方法可以使用。在Math類中,Java語言提供了一個叫做random的方法。通過這個方法可以讓系統產生隨機數。不過默認情況下,其產生的隨機數範圍比較小,為大於等於0到小於1的double型隨機數。雖然其隨機數產生的範圍比較小,不能夠滿足日常的需求。如日常工作中可能需要產生整數的隨機數。其實,只要對這個方法進行一些靈活的處理,就可以獲取任意範圍的隨機數。
如我們可以先通過random方法生成一個隨機數,然後將結果乘以10。此時產生的隨機數字即為大於等於0小於10的數字。然後再利用Int方法進行轉換(它會去掉小數掉後面的數字,即只獲取整數部分,不是四捨五入)。最後即可獲取一個0到9的整數型隨機數字。其實現方法很簡單,就是對原有的random方法按照如下的格式進行變型:(int)(Math.Random()*10)即可。其實我們還可以對這個方法進行擴展,讓其產生任意範圍內的隨機數。至需要將這個10換成n即可,如改為(int)(Math.Random()*n)。此時應用程序就會產生一個大於等於0小與n之間的隨機數。如將n設置為5,那麼其就會產生一個0到5之間的整數型的隨機數。如果將這個寫成一個帶參數的方法,那麼只要用戶輸入需要生成隨機數的最大值,就可以讓這個方法來生成制定範圍的隨機數。在Java中定義自己的工具庫
有時候程序員可能需要生成一個指定範圍內的隨機偶數或者奇數。此時是否可以通過這個方法來實現呢?答案是肯定的。如現在程序要需要生成一個1-100範圍內的偶數。此時該如何實現?首先,需要生成一個0到99之內的隨機數(至於這裡為什麼是99,大家耐心看下去就知道原因了)。要實現這個需求,很簡單吧,只要通過如下語句就可以實現: i=1+(int)(Math.Random()*100)。其中(int)(Math.Random()*99)產生0到99的整數型隨機數。然後再加上1就是產生1到100之間的隨機整數。然後將產生的隨機數賦值給變量i。但是此時其產生的隨機數即有偶數,又有奇數。而現在程序員需要的是一個隨機的偶數。那麼我們可以在後面加上一個if判斷語句。將這個隨機數除以2,如果沒有餘數的話(或者餘數為0)則表明這個隨機數是偶數,直接返回即可。如果其返回的餘數不為零,那麼就表明其是奇數,我們只要加上1就變為了偶數,返回即可。注意,在上面的隨機數生成中,筆者採用的範圍是0到99,然後再加上1讓其變為1到100的隨機數。最後的結果就是生成1到100之間的隨機偶數。其實,如果要範圍隨機奇數的話,至需要對上面的語句進行稍微的修改即可。Java:改變你我的世界
java 生成隨機整數
方法一代碼:
import java.util.Random;
public class Test {
public static void main(String[] args){
Random rand = new Random();
for(int i=0; i10; i++) {
System.out.println(rand.nextInt(100) + 1);
}
}
}
方法二代碼:
package edu.sjtu.erplab.io;
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
int max=20;
int min=10;
Random random = new Random();
int s = random.nextInt(max)%(max-min+1) + min;
System.out.println(s);
}
}
擴展資料:
在windows下編譯java文件、執行:
1、先創建一個txt,更改為test.java。
2、編寫代碼,為輸出為holloword。
3、找到cmd,並進行打開cmd。
4、編譯java文件,輸入命令為javac test.java。
5、如果沒有報錯,查看當前目錄下是否有class文件產生。
6、執行class文件,在命令輸入java test,輸出為holloword。
如何寫java產生一個隨機8位的數
java產生一個隨機8位的數:
StringBuilder str=new StringBuilder();//定義變長字符串
Random random=new Random();
//隨機生成數字,並添加到字符串
for(int i=0;i8;i++){
str.append(random.nextInt(10));
}
//將字符串轉換為數字並輸出
int num=Integer.parseInt(str.toString());
System.out.println(num);
原創文章,作者:MYBA,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/139541.html