我正在尝试自己学习 Java 编程(没有课程/教师/导师/等),所以这不是家庭作业。
我的问题在 Java 初学者挑战中已经提到过:在 while 循环中生成随机数,但是,正如之前提出这个问题的程序员所说,我在本书中的进展还不够深入,无法涵盖 ArrayLists。
回答这个问题肯定会帮助大多数初学者程序员更好地理解如何为 while 循环编写语句,这是一个通常复杂的过程,尤其是对于初学者。
问题是:编写一个while循环,生成1到100之间的随机数,并在两次生成相同的数字后停止循环。
正如您将认识到的,每次运行该程序时,运行该程序只会创建一个介于 1 和 100 之间的两个随机数的输出。我相信由于第 17 行而遇到此错误:equal = numberCheck == values[i]; 不正确,因为这是定义 while 循环条件何时变为真并因此停止评估的语句。
任何帮助是极大的赞赏。谢谢你。
我的代码是:
import java.util.Random;
public class SameNumber {
public static void main(String args[]) {
Random rand = new Random();
int[] values = new int[100];
int counter = 0;
boolean equal = false;
for (int i = 0; i < 2; i++) {
values[i] = rand.nextInt(100) + 1;
System.out.println(values[i]);
int numberCheck;
}
while (!equal) {
for(int i = counter - 1; i >= 0; i--) {
int numberCheck = values[i];
equal = numberCheck == values[i];
//}
if (!equal) {
System.out.println(rand.nextInt(100) + 1);
}
for (int j = counter - 1; j >= 0; j--) {
if (numberCheck == values[j]) {
break;
}
}
}
}
}
}
PS:我知道这听起来很荒谬,但是我一直在研究这个问题大约一周并试图收集更多的研究,但我仍然无法找到正确的解决方案。我一直犹豫寻求帮助,因为我担心其他程序员会用我还没有学过的方法来回答。