在 Java 中使用随机数生成器循环
Looping with a random number generator in Java
我这里有一个随机数生成器,可以从 1 - 50 中选择一个数字。
我想要它做的是从 1-50 中选择第二个随机数,如果它大于前一个随机数,它将 仅 打印到控制台,并且重复多次,比如说10次。
我的老师希望我只使用 Math.floor(Math.random() 方法来生成数字,所以我必须使用它。
我不确定如何将最新生成的号码与之前生成的号码进行比较。
到目前为止我得到的是
int myRand = 10;
while (myRand > 0) {
int myRand2 = (int) (Math.floor(Math.random() * 50) + 1);
System.out.println(myRand2);
System.out.println();
myRand--;
将第一个生成的数字与后续生成的数字进行比较的第二部分在哪里?
你的第一个变量 myRand
不是随机的...对我来说它看起来更像是你的循环迭代器。您永远不会制作两个随机变量。如果我正确理解你的问题,你的答案应该更像这样:
int i = 10;
while (i > 0)
{
int myRand1 = (int) (Math.floor(Math.random() * 50) + 1);
int myRand2 = (int) (Math.floor(Math.random() * 50) + 1);
if (myRand2 > myRand1)
System.out.println(myRand2);
System.out.println();
i--;
}
让我们从随机数开始:
int randomNumber = pick();
现在你需要再选一个
int otherRandomNumber = pick();
如果它比前一个大,则打印到控制台
if (otherRandomNumber > randomNumber) {
System.out.println(otherRandomNumber);
}
但是你需要这样做10次,所以你需要一个循环:
for (int i = 0; i < 10; i++) {
而且,在每次迭代结束时,"other",最新的随机数成为下一次迭代的前一个,所以让我们重命名变量和 assemble 所有这些:
int previousRandomNumber = pick();
for (int i = 0; i < 10; i++) {
int otherRandomNumber = pick();
if (otherRandomNumber > previousRandomNumber) {
System.out.println(otherRandomNumber);
}
previousRandomNumber = otherRandomNumber;
}
我这里有一个随机数生成器,可以从 1 - 50 中选择一个数字。
我想要它做的是从 1-50 中选择第二个随机数,如果它大于前一个随机数,它将 仅 打印到控制台,并且重复多次,比如说10次。
我的老师希望我只使用 Math.floor(Math.random() 方法来生成数字,所以我必须使用它。
我不确定如何将最新生成的号码与之前生成的号码进行比较。
到目前为止我得到的是
int myRand = 10;
while (myRand > 0) {
int myRand2 = (int) (Math.floor(Math.random() * 50) + 1);
System.out.println(myRand2);
System.out.println();
myRand--;
将第一个生成的数字与后续生成的数字进行比较的第二部分在哪里?
你的第一个变量 myRand
不是随机的...对我来说它看起来更像是你的循环迭代器。您永远不会制作两个随机变量。如果我正确理解你的问题,你的答案应该更像这样:
int i = 10;
while (i > 0)
{
int myRand1 = (int) (Math.floor(Math.random() * 50) + 1);
int myRand2 = (int) (Math.floor(Math.random() * 50) + 1);
if (myRand2 > myRand1)
System.out.println(myRand2);
System.out.println();
i--;
}
让我们从随机数开始:
int randomNumber = pick();
现在你需要再选一个
int otherRandomNumber = pick();
如果它比前一个大,则打印到控制台
if (otherRandomNumber > randomNumber) {
System.out.println(otherRandomNumber);
}
但是你需要这样做10次,所以你需要一个循环:
for (int i = 0; i < 10; i++) {
而且,在每次迭代结束时,"other",最新的随机数成为下一次迭代的前一个,所以让我们重命名变量和 assemble 所有这些:
int previousRandomNumber = pick();
for (int i = 0; i < 10; i++) {
int otherRandomNumber = pick();
if (otherRandomNumber > previousRandomNumber) {
System.out.println(otherRandomNumber);
}
previousRandomNumber = otherRandomNumber;
}