2015-02-11 156 views
0

我想弄清楚我是否需​​要在代码中使用if语句或循环。如果random2等于random1,那么我想让random2生成另一个随机数。如果random2周围的第二次再次等于random1,我希望代码继续运行,直到它生成与random1不同的数字。一些指导将非常感谢。if语句或循环

public void generate(View view) { 
     Random randomGenerator = new Random(); 
     int random1 = randomGenerator.nextInt(10); 
     int random2 = randomGenerator.nextInt(10); 
+0

问题变得毫无意义。如果您需要测试一次,则使用'if',如果您想一遍又一遍地重复代码,则使用循环。他们没有可比性。 – Barmar 2015-02-11 20:05:11

+0

谢谢,我会牢记这一点。我不确定两者之间的区别是什么。我在网上做了大量的阅读,并且它超出了我的头脑。谢谢 – Learningmind 2015-02-11 20:18:54

+0

这应该是学习如何编程时首先要学习的东西之一。它应该在任何教科书中解释。 – Barmar 2015-02-11 20:19:55

回答

2

你应该使用一个循环。创建一个新的随机数,直到它们的区别:

Random randomGenerator = new Random(); 
int random1 = randomGenerator.nextInt(10); 
int random2; 
do { 
    random2 = randomGenerator.nextInt(10); 
} while(random1 == random2); 
+0

非常好。非常感谢。我猜测,如果我使用上面的代码来确保第三个随机数字不等于前两个,它也会起作用。我现在会玩。我再次真诚地向所有那些回复如此迅速的人致以诚挚的谢意 – Learningmind 2015-02-11 20:12:47

+0

@Learningmind:是的,你只需要在第一个之后再进行一次循环,在那里你将第三个数字与另外两个数字进行比较。 – Guffa 2015-02-11 20:24:06

0

我会去为一个循环:

Random rng = new Random(); 

int r1 = rng.nextInt(10); 
int r2; 

do { 
    r2 = rng.nextInt(10); 
while (r1 == r2);