如何检查整数是否在隐藏随机整数的5个数字内?

时间:2016-08-25 06:58:12

标签: java random

我的项目是一个幸运的猜测游戏,我创建了生成随机数的代码,用户正试图猜测它。在第三次也是最后一次尝试时,我需要一个条件来检查最终猜测是否在这个随机数的5(低于和高于)范围内。

由于我大学的抄袭问题,我不会发布我的代码,但我会注意到我的随机数被分配了一个命名变量(request.setAttribute("authors", authors); )。

是否有类似:randomNumber

的内容

我知道这是胡言乱语,但希望你明白我的意思。

3 个答案:

答案 0 :(得分:4)

您可以检查两个数字之间的绝对差异:

if (Math.abs(randomNumber - guess) <= 5) {
    // Is within five...

答案 1 :(得分:3)

表达式 Math.abs(a - b) <= c是测试ab是否在c之内的惯用方法。

所以在你的情况下,像

if (Math.abs(yourGuess - randomDrawing) <= 5){
    /*the guess is within 5*/

就足够了。

答案 2 :(得分:1)

Math.abs检查是@Mureinik提到的最佳方式。 我还要添加不寻常的检查方法。

Appache Commons有Range课程:

Range<Integer> range = Range.between(randomNumber - 5, randomNumber + 5);
range.contains(guess);

Guava也有Range课程:

Range<Integer> range = Range.closed(randomNumber - 5, randomNumber + 5);
range.contains(guess);