gpt4 book ai didi

java - 在方法中生成随机数

转载 作者:行者123 更新时间:2023-12-01 04:52:44 24 4
gpt4 key购买 nike

我编写了代码,创建一个 1 到 100 之间的随机数作为任务 A),然后我如何理解如果第一个值超过 50 会生成 1 到 50 之间的第二个随机数,如所述(我是如何认为的)任务 B )

请任何人都可以解释一下任务 C 和 D 是什么,但根本不明白如何去做..(((请帮助提供建议或解释任务 C 和 D。

谢谢......

任务:

编写一个生成随机数的程序:

a) +编写一个返回 1 到 100 范围内的随机整数的方法。

b) 然后添加另一个方法,该方法采用指定顶部数字的参数 - 即,如果您传递 50,它将返回 1 到 50 之间的随机数。测试您的随机方法并确保其有效。

c) 编写另一个方法,以便向它传递两个值 - 您想要从中获取最高值的范围的顶部和底部 - 即,如果您向它传递 10 和 20,它将返回 10 到 20 之间的随机数。

d) 然后编写另一个方法,以便如果重复调用它不会返回两个相同的数字?因此,一旦生成并返回随机数,该方法就不会再次返回该数字。为此,您必须存储生成的每个数字。

import java.util.Random;

public class ranGen {

public Integer random (Integer integer){
Random rand = new Random();;
int min=0, max=100;
int randomNum = rand.nextInt(max - min + 1) + min;

System.out.println(randomNum);
return randomNum;
}


public void random50 (Integer integer){


Random rand = new Random();;
int min=0, max=50;
int randomNum = rand.nextInt(max - min +1) + min;

System.out.println(randomNum);
}


public static void main(String[] args) {
ranGen process = new ranGen();

if(process.random(null) > 50){
process.random50(null);
}

}

}

最佳答案

家庭作业的目标似乎是让您了解什么是方法参数。第一步是编写一个返回 1 到 100 范围内的随机整数的方法。因此该方法没有任何参数。它的签名应该是

public int generateRandomNumberBetween0And100()

第二步是编写一个方法,该方法采用指定顶部数字的参数。因此它的签名应该是:

public int generateRandomNumberBetween0And(int topValue)

第三步是编写一个以两个值作为参数的方法:底部值和顶部值。因此它的签名应该是:

public int generateRandomNumberBetween(int bottomValue, int topValue)

最后一步有点棘手。它要求您记住方法已经生成的值,并避免再次生成它们。没有参数。它的签名应该是

public int generateUniqueRandomNumber()

其实现基本上应该执行以下操作:

1. generate random number
2. if random number is in the set of already generated numbers, go to 1
3. store the generated number in the set of already generated numbers
4. return the generated number.

当然,已经生成的数字集合一开始是空的。

请注意,您应该使用 int 而不是 Integer。没有理由接受 null 作为参数,并且这些方法永远不应该返回 null。因此原始 int 类型应该是首选。

另请注意,这些方法不应打印生成的数字,而是返回它。因此,它们的返回类型应该是 int,而不是 void

按照惯例,类以大写字母开头,并且不要缩写单词。所以你的类应该命名为RandomGenerator

关于java - 在方法中生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14675568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com