我是android的初学者。
显示随机数量的图像,孩子必须计算数字图像
为答案生成4个随机选择,代码工作正常
但有时app被绞死,无法优化代码。
生成答案
int[] answer = new int[4];
int count=0,random_integer;
while(count<=3){
random_integer = r.nextInt((imageCount+2) - (imageCount-2)) + (imageCount-2);
if(!exists(random_integer,answer)){
answer[count] = random_integer;
Log.d("answer","Array " + count + " = " + random_integer);
count++;
}
}
if(!exists(imageCount,answer)){
answer[r.nextInt(3 - 0) + 0] = imageCount;
}
检查重复
public boolean exists(int number, int[] array) {
if (number == -1)
return true;
for (int i=0; i<array.length; i++) {
if (number == array[i])
return true;
}
return false;
}
logcat的
答案 0 :(得分:1)
答案数组用零初始化。这意味着,random_integer
支票不会接受exists
0。
在imageCount
为2的情况下,只有四个可能的随机答案是0,1,2,3。由于0不被接受,while循环将永远不会终止。
如果imageCount
小于2,则会出现类似的问题。