求 Random生成随机数原理?

我写了一串代码
用 n 定义了 随机数在 0 到 3 之间 输出不出来3
只有 : 0 1 2

 int n  = 3;
        // 创建对象
        Random r = new Random();
        // 获取随机数


        for (int i = 0; i < 3; i++) {
            int number = r.nextInt(n) ;

            System.out.println("number : " + number);
        }

还有一个就是
int numer = r.nextInt(n) + 1 ;
这里意思是 0的基础上面加了1吗?
输出结果为 : 1 2 3

 int n  = 3;
        // 创建对象
        Random r = new Random();
        // 获取随机数


        for (int i = 0; i < 3; i++) {
            // 在这里写了 一个加 1 是在 0的基础了上面加了 1 吗?
            int number = r.nextInt(n) + 1  ;

            System.out.println("number : " + number);
        }
阅读 1.9k
1 个回答

如果你要生成 0 ~ 3(包含边界) 的话,那应该是把 n 进行 +1 呐,你这样在结果上 +1 ,不久永远随即不到 0 了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进