《明解Java》第二章(難點)習題
阿新 • • 發佈:2020-12-02
找合適的題,做合適的筆記。 ---老洋
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); } }
-
程式碼圖
-
執行圖