我想根据0到10之间的数字将图像添加到ImageButton.我的getNumber方法是:
public int getNumber(){
// get a random number between 0 and 10
Random randomNumber = new Random();
num = randomNumber.nextInt(10);
return num;
}
Run Code Online (Sandbox Code Playgroud)
我希望每个图像都是唯一的,但我遇到的问题是,如果numList确实包含num,它只会将按钮留空.我试图再次递归调用permuteButton,直到我的列表中没有包含num,但这似乎不起作用.
public void permuteButton(ImageButton btn){
getNumber();
for(int i=0; i<=numList.size(); i++){
//check if the number is already being used
if( numList.contains(num) ){
permuteButton(btn);
}
// else the list doesnt have the number so assign the picture and add number to list
else{
numList.add(num);
assignPictures(btn);
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.如果这是一个简单的问题,我很抱歉.
这是我第一次真正使用列表和队列,所以这可能是一个非常简单的错误.是因为我的队列中充满了无法转换为整数的对象吗?
//populate array
for(int i=0; i<11; i++){
numberarray[i] = i;
}
// populate list with numbers from array
List numList = Arrays.asList(numberarray);
Collections.shuffle(numList);
Queue queue = new LinkedList();
queue.addAll(numList);
int num1 = (Integer) queue.poll();
assignPictures(button01, num1);
Run Code Online (Sandbox Code Playgroud)