java中生成隨機數
Ⅰ java如何產生1-10隨機數
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);
}
}
(1)java中生成隨機數擴展閱讀:
可以先通過 random方法生成一個隨機數,然後將結果乘以10。此時產生的隨機數字即為大於等於0小於10的數字。
然後再利用nt方法進行轉換它會去掉小數掉後面的數字即只獲取整數部分,不是四捨五入)。最後即可獲取一個0到9的整數型隨機數字。其實現方法很簡單,就是對原有的 grandom方法按照如下的格式進行變型:(int( Math. Random0*10)即可。
其實我們還可以對這個方法進行擴展,讓其產生任意范圍內的隨機數。至需要將這個10換成n即可,如改為( int(Math. Random0n)。此時應用程序就會產生一個大於等於0小與n之間的隨機數。
如將n設置為5,那麼其就會產生一個0到5之間的整數型的隨機數。如果將這個寫成一個帶參數的方法,那麼只要用戶輸入需要生成隨機數的最大值,就可以讓這個方法來生成制定范圍的隨機數。
Ⅱ 在java中隨機生成10個整數,用戶求輸入一個數,判斷是否存在於這10個整數中
由於你沒有指定這10個整數的生成范圍,所以我這里假定是0~99之間的整數,這樣用戶輸入時有10%的幾率命中。
整體代碼為:
public class Main {
public static void main(String[] args) {
//聲明長度為10的隨機數數組
int[] randoms = new int[10];
Random random = new Random();
for (int i = 0; i < 10; i++) {
//獲取0~99之間的一個隨機整數,可通過敏亮埋調整nextInt的參數來修改隨機數范圍
int num = random.nextInt(100);
//如果新生成的數字已經存在於隨機數數組中,則重新生成
if (checkDistinct(randoms, num)) {
i--;
continue;
}
randoms[i] = num;
}
//增序排序,好看
Arrays.sort(randoms);
System.out.println("請輸入一個整數:");
Scanner scanner = new Scanner(System.in);
//嚴謹一點這里其實可以對輸入的in進行校橋螞驗,檢驗其是不是整數,鍵升校驗方法很多搜一下就有我這就不校驗了
int in = scanner.nextInt();
System.out.println("生成的隨機數數組為:");
System.out.println(Arrays.toString(randoms));
if (checkDistinct(randoms, in)) {
System.out.println("輸入的數字[" + in + "]在其中");
} else {
System.out.println("輸入的數字[" + in + "]不在其中");
}
}
//檢查新生成的數字是否存在於隨機數數組中,若存在,返回true
private static boolean checkDistinct(int[] randoms, int num) {
for (int i = 0; i < randoms.length; i++) {
if (randoms[i] == num) {
return true;
}
}
return false;
}
}
Ⅲ java 取范圍內的隨機數,比如取10000至99999
公式:Math.random()*(n-m)+m,生成大於等於m小於n的隨機數
按公示取隨機數10000至99999[10000,99999):
故:Math.random()*(99999-10000)+10000;
Ⅳ java怎麼進行隨機數生成演算法
要產生隨機數,可以使用Java api中java.lang包中的Math類.Math類以靜態方法的方式提供常用的數學方法,
其中Math.random()方法是一個可以產生[0.0,1.0]區間內的一個雙精度浮點數的方法
如:
產生一個100以內的整數:int x=(int)(Math.random()*100);
又如:
產生一個1-50之間的隨機數:int x=1+(int)(Math.random()*50)
也可以使用通用創建對象來獲取:
Random random = new Random();
random.nextInt(x);
產生一個0到x-1的正數,如果想產生浮點數有Random類的nextFloat方法,總之nextXXX方法是用來產生隨機數的。
Ⅳ 請問java中如何生成1000~10000之間的隨機數
要生成在[min,max]之間的隨機整數,可使用Random類進行相關運算,代碼如下:
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
int max=10000;
int min=1000;
Random random = new Random();
int s = random.nextInt(max)%(max-min+1) + min;
System.out.println(s);
}
}
random.nextInt(max)表示生成[0,max]之間的隨機數,然後對(max-min+1)取模。
以生成[1000,10000]隨機數為例,首先生成0-10000的隨機數,然後對(10000-1000+1)取模得到[0-1000]之間的隨機數,然後加上min=1000,最後生成的是1000-10000的隨機數
Ⅵ 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;
(6)java中生成隨機數擴展閱讀:
random函數使用格式:
新建random類的rand對象
Random rand = new Random();
設歷帆閉定rand的類型以轎手及區間范圍:
int randNum = rand.nextInt(int x)+y;
Ⅶ Java產生隨機數的幾種方式
方法1
(數據類型)(最小值+Math.random()*(最大值-最小值+1))
例:
(int)(1+Math.random()*(10-1+1))
從1到10的int型隨數
方法2
獲得隨機數
for (int i=0;i<30;i++)
{System.out.println((int)(1+Math.random()*10));}
(int)(1+Math.random()*10)
通過java.Math包的random方法得到1-10的int隨機數
公式是:最小值---最大值(整數)的隨機數
(類型)最小值+Math.random()*最大值
方法3
Random ra =new Random();
for (int i=0;i<30;i++)
{System.out.println(ra.nextInt(10)+1);}
通過java.util包中的Random類的nextInt方法來得到1-10的int隨機數
生成0到1之間的任意隨機小數:
生成[0,d)區間的隨機小數,d為任意正的小數,則只需要將nextDouble方法的返回值乘以d即可。
[n1,n2]
也就是 ra.nextDouble() * (n2-n1)+n1
Ⅷ 如何在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,我們可以拿他作為一個隨機數,我們可以拿他對一些數取模,就可以把他限制在一個范圍之內。
Ⅸ Java如何得到隨機數的第5個值
用random方法來生成隨機數。
在Java語言中生成隨機數相對來說比較簡單,因為有一個現成的方法可以使用。在Math類中,Java語言提供了一個叫做random的方法。通過這個方法可以讓系統產生隨機數。不過默認情況下,其產生的隨機數范圍比較小,為大於等於0到小於1的double型隨機數。雖然其隨機數產生的范圍比較小,不能夠滿足日常的需求。如日常工作中可能需要產生整數的隨機數。其實,只要對這個方法進行一些靈活的處理,就可以獲取任意范圍的隨機數
Ⅹ 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並沒有起直接作用(注意:不是沒有起作用)。