Android - 随机整数不是随机的

Android - Random int isn't random

目前,我有三组不同的图像,它们是用随机整数字符串随机生成的。 str2 和 str3 工作正常,但由于某种原因,当我使用 rnd.nextInt(1) 时,它只有 returns 0。不是 0 和 1,只有 0。我对它进行了数百次采样,每次都是只有 0。同样,其他两个字符串 return 随机如预期。但是,如果我不能解决这个问题,我的应用程序将会非常乏味。

我是不是做错了什么,或者有更好的方法来随机 return 0 和 1 吗?感谢所有的帮助。

String str1 = "img_" + rnd.nextInt(1);
String str2 = "img_" + rnd.nextInt(2);
String str3 = "img_" + rnd.nextInt(3);
if (levelCounter <= 10) {imgView1.setImageDrawable(getResources().getDrawable(getResourceID(str1, "drawable", getApplicationContext())));
                    imgView1.setScaleType(ImageView.ScaleType.CENTER);
                    imgView1.setVisibility(View.VISIBLE);
} else if (levelCounter <= 18) {imgView1.setImageDrawable(getResources().getDrawable(getResourceID(str2, "drawable", getApplicationContext())));
                    imgView1.setScaleType(ImageView.ScaleType.CENTER);
                    imgView1.setVisibility(View.VISIBLE);
} else if (levelCounter >= 19) {imgView1.setImageDrawable(getResources().getDrawable(getResourceID(str3, "drawable", getApplicationContext())));
                    imgView1.setScaleType(ImageView.ScaleType.CENTER);
                    imgView1.setVisibility(View.VISIBLE);
} else {
                    Log.e(LOGCAT, "Counter Error: Unknown Level");
}

nextInt(n) returns 0到n-1之间的随机数。如果你想要一个随机的 0 或 1,使用 nextInt(2).