我只想根据其卡片类型“四个Spade,Heart,Club,Diamond之一”排序一系列卡片,即Spades首先出现
我制作了新阵列请解决它
private static void colorSort(Card temp[]){
Card arr[];
arr = new Card[13];
int loc=0;
for(Card x: temp){
if(x.cardType=="Spade"){
arr[0] = temp[x]; //this line giving error that "can't convert Card to int"`
loc++;
}
}
}
答案 0 :(得分:1)
您不能通过对象(而不是整数)索引数组 - 您必须使用int
。
但是你不想访问数组,你想在循环中使用该对象:
arr[0] = x;
答案 1 :(得分:0)
更改
arr[0] = temp[x];
到
arr[loc] = x;
for循环将卡放入x
,您无需再次访问该阵列。
您还需要将值放在由数组大小限制的新索引中,如果执行arr[0]
,则始终替换该索引中的值。因此,将值放在具有arr[loc]