• Java基础知识强化81:Math类random()方法之获取任意范围的随机数案例(面试题)


    1. 需求:设计一个方法,可以实现获取任意范围内的随机数

    分析:使用方法random()如下:

    1     public static double random()
    2 注:Returns a pseudo-random number between 0.0 (inclusive) and 1.0 (exclusive).       // 0.0 <= x <1.0

    (1)键盘录入两个数。

    1    int start;
    2    int  end;

    (2)想办法获取在start到end之间的随机数

    (3)输出这个随机数

    2. 代码实现:

     1 package cn.itcast_02;
     2 
     3 import java.util.Scanner;
     4 
     5 /*
     6  * 需求:请设计一个方法,可以实现获取任意范围内的随机数。
     7  * 
     8  * 分析:
     9  *         A:键盘录入两个数据。
    10  *             int strat;
    11  *             int end;
    12  *         B:想办法获取在start到end之间的随机数
    13  *             我写一个功能实现这个效果,得到一个随机数。(int)
    14  *         C:输出这个随机数
    15  */
    16 public class MathDemo {
    17     public static void main(String[] args) {
    18         Scanner sc = new Scanner(System.in);
    19         System.out.println("请输入开始数:");
    20         int start = sc.nextInt();
    21         System.out.println("请输入结束数:");
    22         int end = sc.nextInt();
    23 
    24         for (int x = 0; x < 100; x++) {
    25             // 调用功能
    26             int num = getRandom(start, end);
    27             // 输出结果
    28             System.out.println(num);
    29         }
    30     }
    31 
    32     /*
    33      * 写一个功能 两个明确: 返回值类型:int 参数列表:int start,int end
    34      */
    35     public static int getRandom(int start, int end) {
    36      // 回想我们讲过的1-100之间的随机数
    37      // int number = (int) (Math.random() * 100) + 1;//(int)( Math.random()*100 )-- 0 <= x <100,那么(Math.random()*100+1)-- 1<=x<101 
    38      // int number = (int) (Math.random() * end) + start;
    39         // 发现有问题了,怎么办呢?
    40         int number = (int) (Math.random() * (end - start + 1)) + start;// start <=  x  <= end
    41         return number;
    42     }
    43 }

    运行效果如下:

  • 相关阅读:
    hdu4829 带权并查集(题目不错)
    hdu4829 带权并查集(题目不错)
    洛谷 P1076 寻宝(模拟 && 剪枝)
    洛谷 P1981 表达式求值(模拟)
    洛谷 P2239 螺旋矩阵(模拟 && 数学)
    洛谷 P2118 比例简化(枚举)
    洛谷 P3956 棋盘(记忆化搜索)
    洛谷 P5018 对称二叉树(搜索)
    洛谷 P5016 龙虎斗(模拟)
    洛谷 P1563 玩具谜题(模拟)
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4837630.html
Copyright © 2020-2023  润新知