(int)(Math.random()*8)+1
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的莊浪網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
或者
Random r =new Random(100);
System.out.println(r.nextInt(8)+1);
Java產(chǎn)生隨機數(shù)的兩種方式
1、通過Math.random()方法返回一個0到1之間的double值。?
2、通過Random類來產(chǎn)生一個隨機數(shù),這個是專業(yè)的Random工具類,功能強大。
Math.random()方法
Math.random()方法是 Java 的一個靜態(tài)方法,返回一個0到1之間,前閉后開區(qū)間的double值。
(int)(Math.random()*10) 返回0到9的隨機整數(shù)。?
(int)(Math.random()*n) 返回0到n的隨機整數(shù)。?
(int)(Math.random()*100)+1 返回1到100之間的隨機整數(shù),前面返回0到99之間的隨機數(shù),加1就成了1到100之間的隨機數(shù)。
Random類
Random 類是 Java 的 util 包中的一個類。
一、Random類使用說明
Random類使用的根本策略是分帶種子和不帶種子的Random的實例。?
通俗說,兩者的區(qū)別是:帶種子的,每次運行生成的結(jié)果都是一樣的。?
不帶種子的,每次運行生成的都是隨機的,沒有規(guī)律可言。
創(chuàng)建不帶種子的Random對象?
Random random = new Random();?
使用一個和當(dāng)前系統(tǒng)時間對應(yīng)的相對時間有關(guān)的數(shù)字作為種子數(shù)。
創(chuàng)建帶種子的Random對象有兩種方法:?
1) Random random = new Random(10);?
2) Random random = new Random();random.setSeed(10);?
種子的作用是什么?
種子就是產(chǎn)生隨機數(shù)的第一次使用值,機制是通過一個函數(shù),將這個種子的值轉(zhuǎn)化為隨機數(shù)空間中的某一個點上,并且產(chǎn)生的隨機數(shù)均勻的散布在空間中。以后產(chǎn)生的隨機數(shù)都與前一個隨機數(shù)有關(guān)。?
舉例:
Random r =new Random(100);
System.out.println(r.nextInt(20));?
100是種子,r.nextInt(20)中的20是隨機數(shù)的上限,產(chǎn)生的隨機數(shù)為0-20的整數(shù),不包括20,種子數(shù)只是隨機算法的起源數(shù)字,和生成的隨機數(shù)字的區(qū)間沒有任何關(guān)系。?
初始化時100并沒有起直接作用(注意:不是沒有起作用)。
java代碼方法一如下:
int random=(int)(Math.random()*10+1)
java代碼方法二如下:
package bdqn_Empy;
import java.util.Random;
public class Text {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=0;
Random b=new Random();
a=b.nextInt(101);
System.out.println(a);
}
}
擴展資料:
可以先通過 random方法生成一個隨機數(shù),然后將結(jié)果乘以10。此時產(chǎn)生的隨機數(shù)字即為大于等于0小于10的數(shù)字。
然后再利用nt方法進行轉(zhuǎn)換它會去掉小數(shù)掉后面的數(shù)字即只獲取整數(shù)部分,不是四舍五入)。最后即可獲取一個0到9的整數(shù)型隨機數(shù)字。其實現(xiàn)方法很簡單,就是對原有的 grandom方法按照如下的格式進行變型:(int( Math. Random0*10)即可。
其實我們還可以對這個方法進行擴展,讓其產(chǎn)生任意范圍內(nèi)的隨機數(shù)。至需要將這個10換成n即可,如改為( int(Math. Random0n)。此時應(yīng)用程序就會產(chǎn)生一個大于等于0小與n之間的隨機數(shù)。
如將n設(shè)置為5,那么其就會產(chǎn)生一個0到5之間的整數(shù)型的隨機數(shù)。如果將這個寫成一個帶參數(shù)的方法,那么只要用戶輸入需要生成隨機數(shù)的最大值,就可以讓這個方法來生成制定范圍的隨機數(shù)。
可以先通過random方法生成一個隨機數(shù),然后將結(jié)果乘以100,然后再利用int方法進行轉(zhuǎn)換,就可以得到一個0到99的隨機整數(shù)。