Ⅰ java中用Random類生成1到9的隨機數該怎麼寫使用種子
寫法:inttemp=m+(int)(Math.random()*(n+1-m));//Java生成從m到n的隨機整數[m,n]。
random(),函數,random函數返回一個0~num-1之間的隨機數。random(num)是在stdlib.h中的一個宏定義。num和函數返回值都是整型數。
(1)java隨機數整數擴展閱讀:
注意
如需要在一個random()序列上生成真正意義的隨機數,在執行其子序列時使用randomSeed()函數預設一個絕對的隨機輸入,例如在一個斷開引腳上的analogRead()函數的返回值。
反之,有些時候偽隨機數的精確重復也是有用的。這可以在一個隨機系列開始前,通過調用一個使用固定數值的randomSeed()函數來完成。
Ⅱ java 取范圍內的隨機數,比如取10000至99999
公式:Math.random()*(n-m)+m,生成大於等於m小於n的隨機數
按公示取隨機數10000至99999[10000,99999):
故:Math.random()*(99999-10000)+10000;
Ⅲ java中如何產生1000個隨機的整數
/**
*2015年10月23日下午8:37:31
*
*@authorcs12110TODO完成程序
*/
publicclassJoke{
/**
*獲取長度為len的一維數組:隨機整數
*
*@paramlen
*長度
*@return
*/
publicint[]getRandomNumber(intlen){
if(len<1){
len=1;
}
int[]arr=newint[len];
for(intindex=0;index<len;index++){
arr[index]=(int)(Math.random()*1000);
}
returnarr;
}
/**
*對數組進行排序
*
*@paramarr
*數組
*/
publicvoidsort(int[]arr){
if(null==arr){
return;
}
for(intindex=0;index<arr.length;index++){
for(intj=0;j<arr.length-index-1;j++){
if(arr[j+1]<arr[j]){
inttemp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
/**
*列印數字
*
*@parammaxIndex
*數字最大界限
*/
publicvoiddisplay(int[]arr){
for(intindex=0;null!=arr&&index<arr.length;index++){
if(0==index%10){//輸出10個數字換行輸出
System.out.println();
}
System.out.print(arr[index]+"");
}
}
publicstaticvoidmain(String[]args){
Jokejoke=newJoke();
joke.goOn("輸進任意鍵,獲取1000個隨機數");
int[]tempArr=joke.getRandomNumber(1000);
//joke.goOn("輸進任意鍵,列印1000個隨機數");
//joke.display(tempArr);
joke.goOn("輸進任意鍵,開始對隨機數排序");
joke.sort(tempArr);
joke.display(tempArr);
}
}
Ⅳ java 生成隨機整數
方法一代碼:
import java.util.Random;
public class Test {
public static void main(String[] args){
Random rand = new Random();
for(int i=0; i<10; i++) {
System.out.println(rand.nextInt(100) + 1);
}
}
}
方法二代碼:
package e.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);
}
}
Ⅳ java獲取指定范圍的隨機數
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);
}
1.此函數,生成min到max之間的隨機"整數"數.
2.如果需要小數,建議你也以整數開始,最後再除10,或者除100,您明白我意思么?
舉例,要生成5-10之間的保留兩位的小數點.
那就將min設置成50,max設置成100,這樣就可以得到50-100之間的數,輸出前除10,就能得到5-10之間的小數了.
Ⅵ java如何產生1-8的整數隨機數
在java中,生成隨機數使用的是Random類。要生成在[min,max]之間的隨機整數,則可以如下:
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
int max = 8;
int min = 1;
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)取模。
Ⅶ java中 怎樣實現隨機4位的整數
可以藉助Math類里的random方法或者藉助Random類來實現
1、使用Math類的random方法實現產生1000-9999的隨機數代碼如下:
inta=(int)(Math.random()*(9999-1000+1))+1000;//產生1000-9999的隨機數
2、使用Random類實現代碼:
importjava.util.Random;//導入Random包
publicclassRanadd{
publicstaticvoidmain(String[]args){
intx;//定義兩變數
Randomne=newRandom();//實例化一個random的對象ne
x=ne.nextInt(9999-1000+1)+1000;//為變數賦隨機值1000-9999
System.out.println("產生的隨機數是:"+x);//輸出
}
}
說明:
1、Java中Math類中有random方法產生的隨機數是一個偽隨機選擇的(大致)均勻分布在從0.0到1.0這一范圍內的double類型數
2、java.util.Random類中實現的隨機演算法是偽隨機,也就是有規則的隨機,所謂有規則的就是在給定種(seed)的區間內隨機生成數字;相同種子數的Random對象,相同次數生成的隨機數字是完全相同的;Random類中各方法生成的隨機數字都是均勻分布的,也就是說區間內部的數字生成的幾率均等;
Ⅷ 跪求,java隨機整數
int
i
=(int)Math.floor(Math.random()*3);
//得到0-2的整數
注:
Math.random()方法得到隨機小數
*4將會得到小於4的數字,floor方法始終向下舍入。
int
i
=(int)Math.ceil(Math.random()*3);
//得到1-3的整數
註:Math.random()方法得到隨機小數
*3將會得到小於3的數字,Ceil方法始終向上舍入。
int
i
=(int)Math.round(Math.random()*3);//得到0-3的整數
註:round方法是對與等於或大於0.5向上舍入(四捨五入)
Ⅸ java 編寫生成一個10 20 (包括10和20)的隨機整數,然後在輸入文本框輸入一個正
1、猜數字游戲
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 產生一個隨機數
int number = (int) (Math.random() * 100) + 1;
// 加入count
int count = 0;
// 在這里加入最大值,和最小值
int max = 20;
int min = 10;
while (true) {
// 鍵盤錄入數據
Scanner sc = new Scanner(System.in);
System.out.println("請輸入你要猜的數據:(" + min + "~" + max + ")");
try {
count++;
int guessNumber = sc.nextInt();
// 判斷
if (guessNumber > number) {
max = guessNumber;
System.out.println("你猜大了");
} else if (guessNumber < number) {
min = guessNumber;
System.out.println("你猜小了");
} else {
System.out.println("恭喜你,花了" + count + "次就猜中了");
// 問是否繼續
System.out.println("請問還要繼續嗎?(yes)");
sc = new Scanner(System.in);
String str = sc.nextLine();
if ("yes".equals(str)) {
// 重寫賦值隨機數
number = (int) (Math.random() * 100) + 1;
count = 0;
max = 20;
min = 10;
} else {
break;
}
}
} catch (InputMismatchException e) {
System.out.println("你的輸入有誤");
}
}
}
}
Ⅹ 請問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的隨機數