生成随機長度随機值數組
- 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;
}
}