1. 程式人生 > >Java關於Math.random()遇到的坑

Java關於Math.random()遇到的坑

簡介

  • 今天在刷題時,需要利用Math.random()產生隨機數,結果遇到一個坑,分享一下

問題程式碼

int[] arr=new int[10];
for(int i=0;i<arr.length;i++){
    int value= (int)Math.random()*100;
    arr[i]=value;
}
System.out.println(Arrays.toString(arr));

本想著為陣列中元素隨機賦值0-99之間,結果每次陣列中的元素都是0
在這裡插入圖片描述
自己debug半天也沒發現錯誤,就開始查Math.random()的用法,發現也沒有問題,經歷了幾番折磨終於找到了問題,原來 (int)Math.random()*100;

這句int強轉出現了問題,正確應該為 (int)(Math.random()*100); 感覺好坑啊
在這裡插入圖片描述