Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这段代码是如何工作的?(爪哇)_Java_Random_Int - Fatal编程技术网

Java 这段代码是如何工作的?(爪哇)

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

我有一个程序,其中4个随机数被设置为4个按钮(每个按钮一个编号)。有两个随机变量(rbvalue和loadG4)。每个按钮的rbvalue编号不同,但loadG4值覆盖按钮的值并替换它。这个想法是,没有一个rbvalue数字意味着等于loadG4,程序的一部分确保它们永远不相等。代码如下:

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;