【发布时间】:2013-05-12 15:13:13
【问题描述】:
我对 Java 比较陌生,想尝试编写一个代码,该代码将随机生成 2 个数字一定次数,它会跟踪这 2 个数字相同的次数。然后在 X 次尝试后,它会计算它发生的机会。
随机数除以它们相同的次数
import java.util.Random;
public class RandomTest {
public static void main(String[] args) {
int[] anArray;
anArray = new int[100000];
Random randomGenerator = new Random();
for (int loop = 1; loop < 1000; loop++) {
int random1 = randomGenerator.nextInt(100);
int random2 = randomGenerator.nextInt(100);
if (random1 == random2) {
int number = number + 1;
countArray[number] = loop;
}
if (loop == 1000) {
System.out.println("Took " + loop + " randoms.");
break;
}
else {}
}
}
}
主要问题似乎是让数组填充并让整数进入/退出循环。
【问题讨论】:
-
如果您更明智地缩进,您会发现遵循自己的代码会容易得多。为什么你有一个空的
if块?您预计loop何时在循环内 达到 1000? -
你需要这个数组做什么?是查看两个数字的组匹配的频率('54 22' 与 '54 22' 匹配),还是两个数字匹配的频率('22 22')?
-
其实loop永远不会是1000
-
你可以在
for循环之后使用System.out.println("Took " + loop + " randoms.");,它会为你节省一个空的else和if > break;的东西 -
数组用于存储“匹配”发生时的循环数,以便在测试结束后计算平均值。我的意图是正确的,发帖搞砸了。
标签: java arrays loops random int