Đây là một Java khá đơn giản (mặc dù có thể áp dụng đối với tất cả các chương trình) câu hỏi:Math.random() giải thích
Math.random()
trả về một số từ số không đến một.
Nếu tôi muốn trở lại một số nguyên từ số không đến trăm, tôi sẽ làm:
(int) Math.floor(Math.random() * 101)
Từ 1-100, tôi sẽ làm:
(int) Math.ceil(Math.random() * 100)
Nhưng nếu tôi muốn để làm điều đó từ ba đến năm? nó sẽ như thế nào tuyên bố sau:
(int) Math.random() * 5 + 3
tôi biết về nextInt()
trong java.lang.util.Random
. Nhưng tôi muốn học cách làm điều này với Math.random()
.
BTW: phạm vi từ 0.0 đến 1.0 độc quyền (bạn sẽ không actaully nhận 1.0 bao giờ) Sử dụng nextInt() là một lựa chọn tốt hơn nhiều, không chỉ đơn giản mà còn nhanh hơn nhiều. –
Sử dụng 'Math.ceil' là sai, nó cho kết quả sai khi' Math.random() 'trả về' 0'. – starblue
Đối với [3,5]: '(int) Math.floor (Math.random() * 3) + 3' –