1. 程式人生 > 實用技巧 >《明解Java》第二章(難點)習題

《明解Java》第二章(難點)習題

找合適的題,做合適的筆記。												---老洋

1、第二章

①、2-8

  • 題目:

  • 程式碼:

    import java.util.Random;
    import java.util.Scanner;
    
    public class Demo01 {
        public static void main(String[] args){
            //1、設定:從鍵盤輸入
            Scanner stdIn = new Scanner(System.in);
    
            //2、建立:隨機數發生器
            Random rand = new Random();
    
            //3、生成:[0, 10]的隨機數, 然後(減去5)模擬出[-5, 5]的隨機數
            int randNum = rand.nextInt(11) - 5;
    
            //4、鍵盤輸入一個(整數)
            System.out.print("整數值:");           //無序換行
            int num = stdIn.nextInt();
    
            //5、列印一下:隨機數,為了驗證,結果的正確性
            System.out.println("生成[-5, 5]之間的隨機數是:" + randNum);
    
            //6、列印:整數 + [-5, 5]隨機數
            System.out.println("生成了該值+-5範圍內的隨機數,是" + (num + randNum));
    
    
        }
    }
    
    
    
  • 程式碼圖:

  • 執行圖:

②、2-9

此處:只解第三題, 會第三題,前兩題(必會)。
  • 題目

  • 程式碼

    import java.util.Random;
    
    /**
     * 解題思路:
     *      1、通過:rand.nextDouble()          -->> [0.0, 1.0)
     *      2、通過:[0, 1) - 1                 -->> [-1.0, 0.0)
     *      3、通過:rand.nextDouble()          -->> [0.0, 1.0)
     *      4、相加:[-1.0, 0.0) + [0.0, 1.0)   -->> 結果 [-1.0, 1.0)
     *
     *      注意:很難產生的數是-1, 因為double型別的數,太多了。隨機到的可能性太小
     */
    public class Demo01 {
        public static void main(String[] args){
            //1、生成隨機數:發生器
            Random rand = new Random();
    
    
            //2、生成範圍在:[0.0, 1.0)的隨機數
            double num1 = rand.nextDouble();
            System.out.println("rand.nextDouble()的值:      " + num1);
    
            //3、通過(步驟2)獲得範圍在:[-1.0, 0.0]的隨機數
            double  num2 = num1 - 1;
            System.out.println("rand.nextDouble() - 1後的值: " + num2);
    
            //4、生成範圍在:[0.0, 1.0)的隨機數
            double num3 = rand.nextDouble();
            System.out.println("rand.nextDouble()的值:   " + num3);
    
            //5、num2和num3相加:[-1.0, 0.0)  + [0.0, 1.0)  === [-1.0, 1.0)
            double result = (num2 + num3);
            System.out.println("生成[-1.0, 1.0)的隨機數為:" + result);
    
        }
    }
    
    
  • 程式碼圖

  • 執行圖