《明解Java》第二章(难点)习题

找合适的题,做合适的笔记。												---老洋

1、第二章

①、2-8

  • 题目:

    image-20201202071052900

  • 代码:

    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));
    
    
        }
    }
    
    
    
  • 代码图:

    image-20201202072449423

  • 运行图:

image-20201202072702879

②、2-9

此处:只解第三题, 会第三题,前两题(必会)。
  • 题目

    image-20201202073232920

  • 代码

    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);
    
        }
    }
    
    
  • 代码图

    image-20201202085414159

  • 运行图

    image-20201202085735381

若有问题可联系本人qq:2560055298 (探讨)      ---老洋
posted @ 2020-12-02 09:01  漫漫求  阅读(116)  评论(0编辑  收藏  举报