【发布时间】:2017-01-31 09:58:37
【问题描述】:
所以,我知道这似乎是一个愚蠢的问题。然而,话虽如此,在我的课程中,我关心的是教授正确的代码。我遇到了这个。 Min + (Math.random() * ((Max - Min) + 1)) 基本上是代码。添加最小值 + 0.0 到 1.0 之间的随机数乘以最大值减去最小值加 1。本书将此代码视为在某些参数内检索随机值的基础。即最大值 = 40 最小值 = 20。这将得到一个介于 40 和 20 之间的值。
问题是,我知道代码在说什么,在做什么。我通过在前面添加(char)并使用'a'和'z'作为值来使用它来生成随机字符。但问题是,我不明白,从数学上讲,这甚至是如何工作的。我知道这让我成为一个非常糟糕的程序员。我从来没有声称自己是伟大的或聪明的。我知道代数和一些基本的高等数学概念,但是有一些像这样的愚蠢的基本公式让我摸不着头脑。
就编程逻辑而言,这对我来说不是什么大问题,而是看到这样的概念。我糊涂了。我不明白这段代码的数学逻辑。我错过了什么吗?我的意思是,对于介于 0.0 和 1.0 之间的数学随机值,我看不出它如何获得介于最小值和最大值之间的值。有人愿意给我一个外行的解释这是如何工作的吗?
【问题讨论】:
-
谢谢,您的解释有助于解释功能。很高兴知道它真的有名字。