如何随机执行代码并计算它?

问题描述:

我需要随机执行一个代码,然后计算我执行它的次数。如何随机执行代码并计算它?

for (int i =0; i< Math.random()*5+1; i++) { 
       int X = (int) (Math.random()*10+1); 
       int Y = (int) (Math.random()*10+1); 

我想要做的就是执行X,Y值1到5个随机times.I把上面的代码计时器方法中,使这个代码将持续5秒运行和执行我的for循环5秒。它会每秒钟产生随机的X,Y值5秒。但我也想随机x和y Z次。他们可以随机5次,每次2次,持续5秒。我试着用上面的代码对它进行随机化,但是当我这样做时,我无法计算出有多少次随机X,Y结果。我的问题是如何计算我随机化X和Y值的次数?

+1

您需要将Math.random移出循环的条件部分,每次都会生成一个新值。 – Bert

+0

我已经读了两遍,它仍然令人困惑。绝对不行的是你把上面的代码放在timer方法中,这样这段代码将运行5秒钟并执行我的for循环5秒钟 - 如果我们谈论同一个计时器,那么你的代码是**每五分钟打一次**。它不一定会循环五分钟。 – JensG

int limit = Math.random()*5+1; 
for (int i =0; i< limit; i++) { 
    int X = (int) (Math.random()*10+1); 
    int Y = (int) (Math.random()*10+1); 

for循环中的条件部分是为每次迭代计算的。

尽量只存储你生成随机数:

int numberOfTimesToRandomize = (int) Math.random()*5 + 1; 
for(int i =0; i <= numberOfTimesToRandomize; i++) { 
    int X = (int) (Math.random()*10+1); 
    int Y = (int) (Math.random()*10+1); 
} 

您可以Math.random()调用后添加一个简单的计数变量。

例如某事像那:

int counter_x = 0; 
int counter_y = 0; 
for (int i =0; i< Math.random()*5+1; i++) { 
    int X = (int) (Math.random()*10+1); 
    counter_x++; 
    int Y = (int) (Math.random()*10+1); 
    counter_y++; 
} 

声明全局J = 0变量超时计时器,做这样的:

{ 
    for (int i =0; i< Math.random()*5+1; i++) { 
       int X = (int) (Math.random()*10+1); 
       int Y = (int) (Math.random()*10+1); 
     } 
    j = j + i; 
} 

j是次数你随机的X和Y

+0

这种有点奏效,但这表明我的代码在每一回合中随机化了多少次。我想要做的是例如,我运行我的代码5秒钟,并得到这些结果j = 1,2,4,4,6。我得到了j个随机数,这意味着我随机化了X和Y的次数,但是我想要得到的结果是j = 1 + 2 + 4 + 4 + 6 = 17. – morgothraud

+0

当定时器停止时,放置下面的代码。确保j现在是一个不再是变量的数组。 (k = 0; k Minh

+0

我无法理解您编写的代码。什么是j_Count?我为J. int [] j创建了一个数组; j = new int [10];然后添加你的for循环。那我该怎么办? @Minh – morgothraud