Java 正在尝试创建机会计算器
我对Java比较陌生,我想尝试编写一个代码,随机生成2个数字,每次生成2个数字,并跟踪这2个数字相同的次数。然后在X次尝试之后,它会计算出它发生的几率 #随机数除以时间,它们是相同的Java 正在尝试创建机会计算器,java,arrays,loops,random,int,Java,Arrays,Loops,Random,Int,我对Java比较陌生,我想尝试编写一个代码,随机生成2个数字,每次生成2个数字,并跟踪这2个数字相同的次数。然后在X次尝试之后,它会计算出它发生的几率 #随机数除以时间,它们是相同的 import java.util.Random; public class RandomTest { public static void main(String[] args) { int[] anArray; anArray = new int[100000]; Ran
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 {}
}
}
}
import java.util.Random;
公开课随机测试{
公共静态void main(字符串[]args){
国际[]无秩序;
anArray=新整数[100000];
Random randomGenerator=新的Random();
for(int-loop=1;loop<1000;loop++){
int random1=randomGenerator.nextInt(100);
int random2=randomGenerator.nextInt(100);
if(random1==random2){
整数=数+1;
countArray[number]=循环;
}
如果(循环==1000){
System.out.println(“take”+循环+“randoms”);
打破
}
else{}
}
}
}
主要问题似乎是如何填充数组,以及如何在循环中输入/输出整数。您可能想对这一行做些什么:
int number = number + 1;
要单步遍历数组,请将number设置为零
int number = 0;
在进入循环之前,使用
number = number + 1;
您可能想对这一行做些什么:
int number = number + 1;
要单步遍历数组,请将number设置为零
int number = 0;
在进入循环之前,使用
number = number + 1;
以下是我的代码版本:
import java.util.Random;
import java.util.ArrayList;
public class RandomTest {
public static void main(String[] args) {
ArrayList<Integer> duplicates = new ArrayList<Integer>();
int random1 = 0, random2 = 0;
Random randomGenerator = new Random();
for (int loop = 1; loop <= 1000; loop++) {
random1 = randomGenerator.nextInt(100);
random2 = randomGenerator.nextInt(100);
if (random1 == random2) {
duplicates.add(new Integer(random1));
}
}
for (Integer i : duplicates) {
System.out.println("Duplicate: "+i.toString());
}
}
}
上述内容将创建一个名为number的新int,并将其值设为null+1,这是因为上述内容可以拆分为两行:
int num;
num = num + 1;
第一行将为名为num的变量保留内存空间。第二行将尝试将(num+1)的值放入num。因为我们正在调用num,但它尚未初始化-这将给我们一个java.lang.Error(至少我得到了这个错误)
如您所见,将数字置于for循环之外,并按如下方式初始化它:
int number = 0;
for (int loop = 1; loop <= 1000; loop++) {
number = number + 1;
}
int number=0;
对于(int loop=1;loop,以下是我的代码版本:
import java.util.Random;
import java.util.ArrayList;
public class RandomTest {
public static void main(String[] args) {
ArrayList<Integer> duplicates = new ArrayList<Integer>();
int random1 = 0, random2 = 0;
Random randomGenerator = new Random();
for (int loop = 1; loop <= 1000; loop++) {
random1 = randomGenerator.nextInt(100);
random2 = randomGenerator.nextInt(100);
if (random1 == random2) {
duplicates.add(new Integer(random1));
}
}
for (Integer i : duplicates) {
System.out.println("Duplicate: "+i.toString());
}
}
}
上述内容将创建一个名为number的新int,并将其值设为null+1,这是因为上述内容可以拆分为两行:
int num;
num = num + 1;
第一行将为名为num的变量保留内存空间。第二行将尝试将(num+1)的值放入num。因为我们正在调用num,但它尚未初始化-这将给我们一个java.lang.Error(至少我得到了这个错误)
如您所见,将数字置于for循环之外,并按如下方式初始化它:
int number = 0;
for (int loop = 1; loop <= 1000; loop++) {
number = number + 1;
}
int number=0;
对于(int loop=1;loop,如果你更合理地缩进代码,你会发现遵循自己的代码要容易得多。为什么你有一个空的if
块?你预计loop
什么时候在循环中会有1000个?你需要这个数组做什么?它是用来查看两个数字组的匹配频率('54 22'与'54 22'匹配),或者两个数字匹配的频率('22')?实际上循环永远不会是1000。您可以使用System.out.println(“take”+loop+“randoms”)
在for
循环之后,它将为您保存一个空的else
和if>中断;
东西sarray将在发生“匹配”时存储循环编号,以便在测试结束后可以计算平均值。我这方面的意图是正确的,将其与发布混淆。您会发现遵循自己的代码要容易得多如果你更明智地缩进它。为什么你有一个空的if
块?你期望loop
什么时候在循环中有1000个?你需要数组做什么?它是用来查看两个数字组匹配的频率(“54 22”与“54 22”匹配),还是两个数字匹配的频率(“22 22”)实际上,循环永远不会是1000。你可以使用System.out.println(“take”+loop+“randoms”)
在for
循环之后,它将为您保存一个空的else
和if>中断;
东西sarray将在“匹配”发生时存储循环编号,以便在测试结束后计算平均值。这在我这方面是正确的,将其与发布相混淆。非常感谢,这太棒了。将通过呃,阅读你提到的所有内容。如果你喜欢我的答案,请接受它作为这个问题的正式答案。非常感谢,这太棒了。我们将仔细阅读你提到的所有内容。如果你喜欢我的答案,请接受它作为这个问题的正式答案。这个错误对于任何人来说都是显而易见的ho曾经做过一些(Java)编程,如果你能详细说明这一行应该做些什么,对初学者可能会更有帮助。优越感是不酷的。我不是想表现优越感,我只是想不占上风。我认为这是一个打字错误,不是一个误解。而这个错误对于任何做过(Java)编程的人来说都是显而易见的编程时,如果你能详细说明该如何处理这一行,对初学者可能会更有帮助。优越感是不酷的。我不是想表现优越感,我是想不高人一等。我认为这是打字错误,不是误解。