Java黑皮书课后题第3章:**3.4(随机月份)编写一个随机产生1和12之间整数的程序,并根据数组1,2,3...显示对应的月份
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第3章:**3.4(随机月份)编写一个随机产生1和12之间整数的程序,并根据数组1,2,3...显示对应的月份
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
**3.4(隨機月份)編寫一個隨機產生1和12之間整數的程序,并根據數組1,2,3...顯示對應的月份
- 題目
- 題目描述
- 破題
- 代碼
- 如何理解產生隨機數
題目
題目描述
**3.4(隨機月份)編寫一個隨機產生1和12之間整數的程序,并根據數組1,2,3…顯示對應的月份January, February,…,December
破題
代碼
public class Test3_4 {public static void main(String[] args) {// 產生隨機數int myMonth = (int)(Math.random() * 12 + 1);// 顯示月份switch(myMonth){case 1:System.out.println("January");break;case 2:System.out.println("February");break;case 3:System.out.println("March");break;case 4:System.out.println("April");break;case 5:System.out.println("May");break;case 6:System.out.println("June");break;case 7:System.out.println("July");break;case 8:System.out.println("August");break;case 9:System.out.println("September");break;case 10:System.out.println("October");break;case 11:System.out.println("November");break;default:System.out.println("December");}} }如何理解產生隨機數
int myMonth = (int)(Math.random() * 12 + 1);根據要求,要隨機產生1~12之間的整數
那么Math.random()隨機生成0到1左閉右開區間(即不含1)的double型浮點數
我們用符號表示:–>表示生成,從x到y但不含y的左閉右開[x,y)
Math.random() --> [0, 1)
Math.random()*12 --> [0, 12)
如果此時執行強轉為int型:(int)(Math.random()*12)的話,只能獲取0、1、2、3、4、5、6、7、8、9、10、11這12個數,而不是題目要求的從1到12的整數
所以強轉前對(Math.random()*12)這個整體加1
Math.random()*12+1–>[1,13)
此時強轉為int型,就能從1開始一直到12結束
總結
以上是生活随笔為你收集整理的Java黑皮书课后题第3章:**3.4(随机月份)编写一个随机产生1和12之间整数的程序,并根据数组1,2,3...显示对应的月份的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第3章:*3.3(代
- 下一篇: Java黑皮书课后题第3章:*3.5(给