小编Con*_*ton的帖子

我知道我得到一个stackoverflow因为我正在使用递归但是有一个简单的方法来绕过这个吗?

我想根据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)

任何帮助,将不胜感激.如果这是一个简单的问题,我很抱歉.

java stack-overflow android

2
推荐指数
1
解决办法
113
查看次数

这有什么不对?我得到一个java.lang.ClassCastException错误,但我看不出我出错的地方

这是我第一次真正使用列表和队列,所以这可能是一个非常简单的错误.是因为我的队列中充满了无法转换为整数的对象吗?

           //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)

java queue arraylist classcastexception

1
推荐指数
1
解决办法
2102
查看次数