㈠ java用Math.random()生成一個50-100間的整型隨機數
Math類的random()方法可以生成[0,1)之間的隨機浮點數。
double類型數據強制轉換成int類型,整銷橋純數部消轎分賦值虧咐給int類型變數,小數點之後的小數部分將會丟失。
int b=(int)(Math.random()*10);//生成[0,9]之間的隨機整數。
int temp=m+(int)(Math.random()*(n+1-m)); //生成從m到n的隨機整數[m,n]
(1)java指定范圍的隨機數擴展閱讀:
用Math類的random()方法產生一個字元,若該字元是一個大寫英文字母,則輸入 「Yes!」,否則輸出「NO」。
//產生一個[0,1)之間的隨機數。
Math.random():
//返回指定范圍的隨機數(m-n之間)的公式:
Math.random()*(n-m)+m;
或者
Math.random()*(n+1-m)+m
㈡ 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中 如何產生一個特定范圍的隨機數
java.util
類 Random
java.lang.Object
java.util.Random
所有已實現的介面:
Serializable
直接已知子類:
SecureRandom
--------------------------------------------------------------------------------
public class Randomextends Objectimplements Serializable此類的實例用於生成偽隨機數流。此類使用 48 位的種子,使用線性同餘公式對其進行修改(請參閱 Donald Knuth 的《The Art of Computer Programming, Volume 2》,第 3.2.1 節)。
如果用相同的種子創建兩個 Random 實例,則對每個實例進行相同的方法調用序列,它們將生成並返回相同的數字序列。為了保證屬性的實現,為類 Random 指定了特定的演算法。為了 Java 代碼的完全可移植性,Java 實現必須讓類 Random 使用此處所示的所有演算法。但是允許 Random 類的子類使用其他演算法,只要其符合所有方法的常規協定即可。
Random 類所實現的演算法使用一個 protected 實用工具方法,每次調用它都可提供最多 32 個偽隨機生成的位。
很多應用程序會發現 Math 類中的 random 方法更易於使用。
從以下版本開始:
JDK1.0
另請參見:
Math.random(), 序列化表格
--------------------------------------------------------------------------------
構造方法摘要
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產生一個指定范圍而且不重復的隨機數
publicintgetRandomNumber(){
IntegerrandomNumber=(int)(Math.random()*100);//產生0-100隨機數
List<Integer>list=newArrayList<Integer>();
if(!list.contains(randomNumber)){//判斷是否重復,不是重復的加入集合
list.add(randomNumber);
}else{//如果產生的隨機數是重復的,用遞歸的方法再次生成
getRandomNumber();
}
returnrandomNumber;
}
我想的思路如上面代碼所示。
㈤ java 取范圍內的隨機數,比如取10000至99999
公式:Math.random()*(n-m)+m,生成大於等於m小於n的隨機數
按公示取隨機數10000至99999[10000,99999):
故:Math.random()*(99999-10000)+10000;
㈥ java 使用Math.random()產生一個100以內的隨機數;
int val = (int)(Math.random()*100+1);
System.out.println(val); //第一種
Random r=new Random(); //第二種
int a;
a=1+r.nextInt(100);
System.out.println(a);
㈦ 怎樣用java產生一個指定范圍而且不重復的隨機數
首先,需要一個范圍內的隨機數,第二部判重,如果重復了就再次隨機.
假設我們需要一個m到n的隨機數..
需要用到random函數隨機一個從0到1的數.然後再乘m到n的范圍,再加m
double i = Math.random() * (m - n) + m ----> 生成隨機數
判重..方法有很多種了..比如我們用一個Set來存放已經存在的..
Set<Double> set = new LinkedHashSet<>();
if (set.contains(i)) { 重復了,重新隨機 }
else { 向set中添加: set.add(Double.valueOf(i)); }
2017年8月28日 21:37:44
㈧ 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;
(8)java指定范圍的隨機數擴展閱讀:
random函數使用格式:
新建random類的rand對象
Random rand = new Random();
設定rand的類型以及區間范圍:
int randNum = rand.nextInt(int x)+y;