JAVA——產生N個隨機數
阿新 • • 發佈:2018-11-21
這裡只介紹兩種產生隨機數的方法Random,Math.random.
一、Random
這裡先給出使用模板:
package a;
import java.util.Random;
public class a {
public static void main(String[] args) {
Random ran=new Random();
}
}
建立了一個Random物件ran,此後所有關於Random的方法均由ran呼叫,下面給出一些簡單的應用。
package a; import java.util.Random; public class a { public static void main(String[] args) { Random ran=new Random(); for(int i=0;i<10;i++) { System.out.println(ran.nextInt()); } //隨機生成10個數字,範圍不限,正負不限 for(int i=0;i<10;i++) { System.out.println(ran.nextInt(100)); } //隨機生成10個0-100(這裡不包括100,但是包括零)的數字,注意這裡只能是正數 int min=10,max=100; for(int i=0;i<10;i++) { System.out.println(ran.nextInt(max-min+1)+min); } //隨機生成10個min-max的數字。 } }
二、Math.random
簡單說一下這個函式,Math.radom會隨機生成大於等於0.0,並且小於1.0的數(注意這裡依舊無法生成1);
所以使用Math.random的一般方法為:
package a;
//不需要匯入任何包
public class a {
public static void main(String[] args) {
int num=(int)Math.random()*100;//因為是生成的浮點數所以必須進行強制型別轉換
}
}
下面給出此類方法的 簡單應用
package a;
//不需要匯入任何包
public class a {
public static void main(String[] args) {
int min=10,max=100;
for(int i=0;i<10;i++)
{
int num=(int)(Math.random()*(max-min+1))+min;
System.out.println(num);
}
//其餘的不在一一列舉
}
}
注意很多時候隨機數會產生重複的,這就要求我們篩選重複值,這裡也給出簡單的說明.
1、反覆遍歷陣列,如果存在這個數字,就不放進去,如果不存在就放入。(最簡單暴力)
2、還有就是使用hashset容器,對其進行篩選(推薦)。