1. 程式人生 > >JAVA——產生N個隨機數

JAVA——產生N個隨機數

這裡只介紹兩種產生隨機數的方法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的數字。
	}

}

更多Random細節點這裡

二、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容器,對其進行篩選(推薦)。