インデックス 0 ~ 9 に整数値を格納する配列があります。次の方法で乱数を選択します。
val r = new scala.util.Random
var a=r.nextInt(10)
ここで、配列のインデックスの値a
が 10 の場合、別の乱数を選択する必要があります。が 10の間、arr[random number generated]
乱数を生成し続けます。arr[random nnumber]!=10
したがって、コードを次のように書くと:
while(arr2(a)==10)
a=r.nextInt(10)
無限ループに陥ります。ただし、コードを次のように記述した場合:
if(arr2(a)==10)
while(arr2(a)==10)
a=r.nextInt(10)
それはうまく動作します。なぜこうなった?