当前位置: 首页 > 知识库问答 >
问题:

数学。随机数和小数

魏泰
2023-03-14

我真的很想了解,谢谢你的帮助。我一直在看Derek Banas Java编程视频,我被以下问题困扰:

int randomNumber=(int)(Math.random()*126)1;

目标是获得从1到126包括的随机数。它的工作,但为什么?它怎么能输出126呢?

>

  • 如果铸造int删除小数。

    126包括125(见测试)

    If Math.random()返回0-0.9(含0.9)。

    最接近的是:

    1. int randomNumber=(int)(Math.random()*126)1

    有人能给我解释一下为什么我错了吗。

    测试:

    import java.util.*;
    
    public class Random_Number_Test 
    {
        public static void main(String[] args) 
        {
            boolean Program_On_Going = true;
            double RoundTest = 125.74;
    
            while(Program_On_Going)
            {
                int randomNumber = (int) (Math.random() * 126) + 1;
    
                if(randomNumber == 126)
                {
                    System.out.print(randomNumber);
                    System.out.print("included");
                    Program_On_Going = false;
    
                    System.out.print((int) RoundTest);
                }
                else
                {
                    System.out.println(randomNumber);
                }
            }
        }
    }
    

    后果

    18 30 101 77 101 85 87 6 89 26 20 115 108 13 53 30 85 108 41 110 22 3 38 106 46 102 117 95 36 44 65 87 87 4 114 70 8 120 50 28 60 97 101 25 30 96 4 105 55 29 20 77 105 91 19 81 105 66 1 78 81 48 77 82 11 68 113 1 7 90 104 96 100 70 114 14 125 42 108 16 119 103 70 84 83 42 15 102 45 69 80 123 56 39 115 88 70 111 30 68 19 34 17 24 71 107 81 76 42 80 123 19 54 47 96 58 64 52 61 117 64 103 47 40 60 35 23 90 75 91 29 16 7 15 20 50 85 72 109 85 108 47 54 79 91 102 84 101 5 17 50 115 115 71 67 83 15 99 77 101 20 79 22 25 30 108 46 75 89 80 103 51 61 15 91 9 61 90 11 5 27 36 116 15 14 105 5 95 53 97 55 59 1 81 97 109 77 37 3 84 115 87 15 40 93 61 68 14 93 15 38 55 15 72 48 103 75 42 63 64 61 114 103 17 47 31 102 56 57 113 82 85 48 1 120 117 25 77 101 19 84 54 101 102 2 14 114 105 20 57 70 94 7 27 123 108 109 47 4 28 72 86 64 86 71 69 33 110 109 19 71 92 49 50 77 29 31 55 62 75 61 8 52 115 69 39 71 107 42 57 92 88 88 89 7 123 49 13 107 6 99 21 49 3 82 60 104 70 123 91 4 57 63 27包括

  • 共有2个答案

    阳俊德
    2023-03-14

    问题是Math.random()不返回0.99,但它返回0.999999999

    0.99999999 * 125 = 125.9999874

    125.9999874 1 = 126.9999874

    int随机数=(int)126.9999874;

    整数=126;

    熊哲圣
    2023-03-14

    数学随机状态的文档

    返回一个带正号的双倍值,大于或等于0.0,小于1.0。返回的值是伪随机选择的,从该范围(近似)均匀分布。

    因此,返回值最多可以有16位小数位。你的例子是

    (0.9920634920634921 * 126) + 1
    125 + 1
    126
    
     类似资料:
    • 我迫切需要一个Java程序的帮助,我需要竞争学校!在过去的三天里,我已经在这方面工作了至少三个小时,我想不出来=(以下是说明: 编写一个程序,从下面的列表中调用Math类的每个方法,并提供输出,显示调用的方法、发送给该方法的值以及返回的结果。列出的每个方法都会告诉您要使用哪些值。例如: 列出的方法: 您的程序将显示: 当调用一个接受双精度的方法时,使用至少有一个十进制数字的数字,比如上面的例子,即

    • 如果我做:Math.random() * 4-2 这会让我得到一个范围(-2,2),2是排他性的吗?我认为这是正确的,但我很少得到正数(是的,我知道这是一个随机算法,我们必须无限随机地生成它才能感觉到,但我只是想确保) 新问题 如果我想要所有从-1到1的随机有理数,两个边界都包括在内,那么这条线是否有效:Math.random() * 2.00000000000000001 - 1; 我查了一下,

    • 每次产生一个随机数。 用法 Your browser does not support the video tag. 案例:掷骰子 功能:设置随机数范围1-6,每按一下按钮,产生一个随机数 工作原理 当输入由no变为yes时,一个随机数将会被传送到输出。你可以通过配置改变随机数的范围 例如:一个随机变色的灯

    • 我在用数学。函数获取从0到“max”数字范围内的整数。但据sonarqube称,这是“安全热点”的媒介问题。

    • 问题内容: 似乎找不到答案,说我有这个: 我如何使随机数不会重复出现。例如,如果随机数是2,我不希望2再次出现。 问题答案: 您可以通过多种方式实现这一目标。 解决方案A:如果数字范围不大(假设少于10个),则只需跟踪已生成的数字即可。然后,如果生成重复项,则将其丢弃并生成另一个数字。 解决方案B:预先生成随机数,将其存储到数组中,然后遍历数组。您可以通过提取数字然后将其洗牌来实现。 解决方案C:

    • 本文向大家介绍python中的随机函数小结,包括了python中的随机函数小结的使用技巧和注意事项,需要的朋友参考一下 本系列不会对python语法,理论作详细说明;所以不是一个学习教材;而这里只是我一个学习python的某些专题的总结。 1. random()函数  描述:random() 方法返回随机生成的一个实数,它在[0,1)范围内。     语法: 注意:random()是不能直接访问的