嗨我收到错误“意外令牌”at(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;
}
}
答案 0 :(得分:0)
为什么使用两个数组,如果它们仍保持相同的数据?
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)];
}