繁体   English   中英

数组中的随机图像-Android

[英]Random Images from Array - Android

嗨,我收到错误“意外令牌”的信息为(int i = 0; i <4; i ++)

我有两个带有相同图像的数组。 在此示例中,我有2个数组和3个图像(每个数组中的图像相同)。 我想从每个数组中获取2个随机图像,它们必须是同一图像(因此是一对)。 我做错了什么的任何输入将是巨大的!

然后,我想将这些图像放在图像按钮上。

public class Card {
ArrayList<Integer> list=new ArrayList<Integer>();
ArrayList<Integer> list1=new ArrayList<Integer>();
Random r1=new Random();
int[] imageArray1 = new int[] {R.drawable.raptors, R.drawable.okc_thunder, R.drawable.spurs};

int[] imageArray2 = new int[] {R.drawable.raptors, R.drawable.okc_thunder, R.drawable.spurs};
for(int i=0;i<4;i++)
{
    while(true)
    {
        int next=r1.nextInt(10)+1;
        if(!list.contains(next))
        {
            list.add(imageArray1[next]);
            list1.add(imageArray2[next]);
            break;
        }
    }
}
array1 = convertIntegers(list);
array2 = convertIntegers(list1);


public static int[] convertIntegers(List<Integer> integers)
{
    int[] ret = new int[integers.size()];
    Iterator<Integer> iterator = integers.iterator();
    for (int i = 0; i < ret.length; i++)
    {
        ret[i] = iterator.next().intValue();
    }
    return ret;
}

}

如果两个数组仍然保存相同的数据,为什么还要使用它们呢?

int[] imageArray1 = new int[] {R.drawable.raptors, R.drawable.okc_thunder, R.drawable.spurs};
int[] imageArray2 = new int[] {R.drawable.raptors, R.drawable.okc_thunder, R.drawable.spurs};

做就是了:

int[] imageArray = new int[] {R.drawable.raptors, R.drawable.okc_thunder, R.drawable.spurs};

我也不明白为什么要使用数组列表和while循环。 我会这样做:

public int getRandomCard() {
    return this.imageArray[r1.nextInt(3)];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM