How to set a different random number to all buttons?
我在一个数组中有四个按钮。我可以生成一个随机数并将其设置为所有这些按钮,但这不是我要做的。我真正想做的是为每个按钮设置一个随机数。例如:我可能在每个按钮中都有"18"、"15"、"10"和"11",而不是在所有四个按钮中都有"17"。我如何才能对所有按钮执行此操作,而不是手动为每个按钮分配一个随机的输入?
这是我的代码:
1 2 3 4 5 6 7 8 9 10 11 12 | Random rbselection = new Random(); final int rbselector = rbselection.nextInt(4); final Button[] selectrb = new Button[4]; selectrb[0] = rb1; selectrb[1] = rb2; selectrb[2] = rb3; selectrb[3] = rb4; Random randoms1 = new Random(); int setRandoms1 = randoms1.nextInt(10); for(int allrbA=0; allrbA<4; allrbA++) { selectrb[allrbA].setText(""+setRandoms1); } |
另外,有人知道如何阻止一个数字在执行此操作时被输出两次吗?例如,如果随机数在10到20之间,其中一个是12,有人知道如何使所有其他可能的数字都在12之间吗?
如果我是你……
1 2 3 4 5 6 7 8 9 10 |
说明:我正在生成随机数。首先我得到了随机数100,我把它添加到一个"集合"中,因为集合总是保持唯一性,如果我再得到100,那么
当
遍历
在Java中获取随机数:
号
其中1将是你的最小范围,50将是你的最大。使用这个链接作为参考:在爪哇获得随机数。
取决于你有多少按钮。你本来可以的
1 | rbselection.nextInt(50) + 1; |
每次调用一个1到50范围的新int并将其添加到某个列表或集合中。
所以像这样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
。
此外,您可以将上述代码更改为:
1 2 3 4 5 6 7 8 9 10 | while (i < 4) { int temp = rbselection.nextInt(50) + 1; if (ar.contains(temp)) continue; array[i].setText(temp); ar.Add(temp); i++; } |
其中,array是大小为4的按钮数组。
试试这个:
1 2 3 |
。