给定范围,生成随机数

随机数的使用是比较常见的,但是如何在给定的范围内生成一个随机数却是一件比较头疼的事,先上代码再说事:

import java.util.Scanner;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入开始数据: ");
        int start = sc.nextInt();
        System.out.println("请输入结束数据: ");
        int end = sc.nextInt();
        for (int i = 0; i < 100; i++) {
    
    
            int num = getRandom(start, end);
            System.out.println(num);
        }
    }

    private static int getRandom(int start, int end) {
    
    
        int number = (int) (Math.random() * (end - start + 1)) + start;
        return number;
    }

}

说明如下;
它的思想来源源自于生成100以内的随机数的公式:

int num = Math.random()*100+1

显然100是结束数字,1是开始数字,但是当生成的数字是200-300之内时,显然不合适,查找资料后就发现如此书写。

猜你喜欢

转载自blog.csdn.net/chunfenxiaotaohua/article/details/103905328