java角色不同按钮也不同_关于java:如何为所有按钮设置不同的随机数?

我在一个数组中有四个按钮。我可以生成一个随机数并将其设置为所有这些按钮,但这不是我要做的。我真正想做的是为每个按钮设置一个随机数。例如:我可能在每个按钮中都有"18"、"15"、"10"和"11",而不是在所有四个按钮中都有"17"。我如何才能对所有按钮执行此操作,而不是手动为每个按钮分配一个随机的输入?

这是我的代码:

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之间吗?

如果我是你……

public static void main(String[] args) {

Set uniqueRandomNumbers = new LinkedHashSet<>();

while (uniqueRandomNumbers.size() != 4) {

Random random = new Random();

uniqueRandomNumbers

.add(Math.abs(Integer.valueOf(random.nextInt())));

}

System.out.println(uniqueRandomNumbers);

}

说明:我正在生成随机数。首先我得到了随机数100,我把它添加到一个"集合"中,因为集合总是保持唯一性,如果我再得到100,那么Set的大小就不会增加。

当Set的大小为4时,循环中断,集合包含唯一的随机数。

遍历Set以设置文本。

在Java中获取随机数:

Random rand = new Random();

int  n = rand.nextInt(50) + 1;

其中1将是你的最小范围,50将是你的最大。使用这个链接作为参考:在爪哇获得随机数。

取决于你有多少按钮。你本来可以的

rbselection.nextInt(50) + 1;

每次调用一个1到50范围的新int并将其添加到某个列表或集合中。

所以像这样:

Random rand = new Random();

int  n = rand.nextInt(50) + 1;

ArrayList ar = new ArrayList();

int i = 0;

while (i < 4)

{

int temp = rbselection.nextInt(50) + 1;

if (ar.contains(temp))

continue;

ar.Add(temp);

i++;

}

此外,您可以将上述代码更改为:

while (i < 4)

{

int temp = rbselection.nextInt(50) + 1;

if (ar.contains(temp))

continue;

array[i].setText(temp);

ar.Add(temp);

i++;

}

其中,array是大小为4的按钮数组。

试试这个:

Random rnd = new Random();

for(int allrbA=0; allrbA<4; allrbA++)

selectrb[allrbA].setText(String.valueOf(rnd.nextInt(20)));

如何保证每个按钮上的随机数不同?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值