天天看點

生成随機長度随機值數組Math類中的random()方法,傳回的是一個在[0,1)之間的小數,而random(N)傳回的是一個在[0,N)上的小數;而random()*N傳回的是一個在[0,N-1]上的整數;

生成随機長度随機值數組

  • Math類中的random()方法,傳回的是一個在[0,1)之間的小數,而random(N)傳回的是一個在[0,N)上的小數;而random()*N傳回的是一個在[0,N-1]上的整數;

Math類中的random()方法,傳回的是一個在[0,1)之間的小數,而random(N)傳回的是一個在[0,N)上的小數;而random()*N傳回的是一個在[0,N-1]上的整數;

public class RandomTest {
	public static void main(String[] args) {
		int[] arr = generateRandomArray(5, 15);
		System.out.println(arr.length);
		for (int i=0; i<arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
	
	public static int[] generateRandomArray(int maxSize, int maxValue) {
		int[] arr= new int[(int)((maxSize + 1) * Math.random())];
		/*數組的長度随機
		 * */
		for (int i=0; i<arr.length; i++) {
			arr[i] = (int)(Math.random() * (maxValue + 1)) - (int)(Math.random() * (maxValue + 1));
		}
		/*數組中每一個元素都是一個随機值減去另一個随機值
		 *maxValue加一的原因是,Math.random()*N所取到的是[0, N-1],如果要取[0, N]就要(*N+1);
		 * */
 		return arr;
	}
	

}