為什么十以內(nèi)的隨機(jī)數(shù)(int)(Math.random() * 10)要這樣寫,怎么不能是Math.random() * 10
為什么十以內(nèi)的隨機(jī)數(shù)(int)(Math.random() * 10)要這樣寫,怎么不能是Math.random() * 10
為什么十以內(nèi)的隨機(jī)數(shù)(int)(Math.random() * 10)要這樣寫,怎么不能是Math.random() * 10
2017-07-01
舉報(bào)
2017-07-01
因?yàn)镸ath.random()出來的數(shù)據(jù)是double型,需要用int進(jìn)行強(qiáng)制轉(zhuǎn)換。先用Math.random乘以10,然后用int去掉小數(shù)點(diǎn)后面的數(shù)據(jù),這樣得到的數(shù)據(jù)就是整型了。
2017-07-02
這是因?yàn)椋╥nt)強(qiáng)制轉(zhuǎn)換在前,程序先執(zhí)行轉(zhuǎn)換后,再*10,結(jié)果是,選隨機(jī)生成0-1之前的確雙精數(shù),再強(qiáng)制轉(zhuǎn)換為0,再0*10,隨機(jī)生成的10個(gè)數(shù)都為0。故必須為:
(int)(Math.random() * 10)
?