试图在指定范围内获得随机值?

时间:2017-09-29 04:34:49

标签: java random

对于我的一项任务,我试图在16-26(包括两者)之间生成一个随机数。我已经阅读并尝试了不同的方法,但由于某种原因它超过了指定的范围。这就是我现在所拥有的:

class SeasonPlayers
  # assuming that you only want to aggregate from one player
  def find_player_value_totals
    [free_throw_val, three_pointer_val, rebound_val, assist_val, steals_val, blocks_val, points_val].sum
  end
end

有关为什么这不起作用的任何想法?谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

((26 - 16) + 16)

答案 1 :(得分:0)

(26 + (-16 + 16)26 + 0相同int dealerHand = 16 + (int) (Math.random() * 26); ,所以现在问题应该更明显了:

16

返回42int dealerHand = 16 + (int) (Math.random() * (26 - 16)); 之间的数字。

您需要做的就是更接近这一点:

Math.random()

但请注意>= 0.0的{​​{3}}:返回的号码为< 1.0[16;26)。这意味着此代码将生成int dealerHand = 16 + (int) (Math.random() * (26 - 16 + 1)); 范围内的数字(即不包括26)。如你想要包含它,这是真正的公式:

$email = $_POST['email'];
$emailB = filter_var($email,   
 FILTER_SANITIZE_EMAIL); 
 if(filter_var($emailB,   
 FILTER_VALIDATE_EMAIL) === false ||  
 $emailB != $email ) { echo "This email adress 
  isn't valid!"; exit(0);
}