Java 这段代码是如何工作的?(爪哇)
我有一个程序,其中4个随机数被设置为4个按钮(每个按钮一个编号)。有两个随机变量(rbvalue和loadG4)。每个按钮的rbvalue编号不同,但loadG4值覆盖按钮的值并替换它。这个想法是,没有一个rbvalue数字意味着等于loadG4,程序的一部分确保它们永远不相等。代码如下:Java 这段代码是如何工作的?(爪哇),java,random,int,Java,Random,Int,我有一个程序,其中4个随机数被设置为4个按钮(每个按钮一个编号)。有两个随机变量(rbvalue和loadG4)。每个按钮的rbvalue编号不同,但loadG4值覆盖按钮的值并替换它。这个想法是,没有一个rbvalue数字意味着等于loadG4,程序的一部分确保它们永远不相等。代码如下: Random GenerateG4 = new Random(); int loadG4 = GenerateG4.nextInt(10); Random ra
Random GenerateG4 = new Random();
int loadG4 = GenerateG4.nextInt(10);
Random randoms1 = new Random();
final TextView number = (TextView) findViewById(R.id.number);
number.setText(""+loadG4);
for(int allrbA=0; allrbA<4; allrbA++) {
int rbvalue = randoms1.nextInt(10 - 1);
if (rbvalue==loadG4) rbvalue=9;
selectrb[allrbA].setText(""+rbvalue);
}
selectrb[rbselector].setText(""+loadG4);
只需在中添加那行代码就可以完成任务。现在,在从0到9生成的所有数字中,只有一个是loadG4的值。这一行是怎么做到的?我一直认为在if(…)
之后,实际语句必须有一个大括号,例如if(…){System.out.println(“…”)}为什么要将rbvalue设置为9?为什么随机RB值有(10-1)?在这种情况下-1意味着什么
我很感激任何能帮我澄清这一点的人,谢谢。你可以把
10-1
作为小学数学,它等于9,所以randoms1。nextInt(10-1)
返回一个从0到8的数字。我不知道为什么它没有写成9
。这可能是为了强调该值比GenerateG4.nextInt(10)中使用的10小1
如果当if
条件为true时只执行一条语句,则大括号是一个意见问题。很多人更喜欢把它们放在那里;在我的工作场所,没有人可以不把他们排除在外
if
语句将rbvalue
设置为9,如果它等于loadG4
。这将确保值不同。由于rbvalue
最多为8,我们知道当它们相等时,将其中一个设置为9将确保它们变得不同。这对我来说有点微妙,我知道你需要问一下
代码似乎不会使每个按钮的rbvalue
数字不同
if (rbvalue==loadG4) rbvalue=9;