我的数组怎么引用不了?
有这样一个程序:
public class bijiao
{
static class Card
{
String value;
String color;
int num;
public Card(String color,String value,int num)
{
this.color=color;
this.value=value;
this.num=num;
}
}
static String[] colors={"黑桃","红桃","梅花","方块"};
static String[] values= {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
static int[] nums={12,13,1,2,3,4,5,6,7,8,9,10,11};
public static void main(String arg[])
{
Card porke[]=new Card[52];int k=0;
System.out.println("未洗牌前,牌的顺序为:");
System.out.println();
for(int i=0;i<=3;i++)
{
for(int j=0;j<13;j++,k++)
{
porke[k]=new Card(colors[i],values[j],nums[j]);
System.out.print(porke[k].color+porke[k].value+" ");
}
}
int a[]=new int[52];
for (int p=0;p<a.length;p++)
{
a[p]=(int)(Math.random()*52);
for(int q=0;q<p;q++)
if(a[q]==a[p])
p=p-1;
}
System.out.println("洗牌后,牌的顺序如下:");
System.out.println(); int z1=0;
for(int x=0;x<porke.length;x++)
{ int m=a[x];
System.out.print(porke[m].color+porke[m].value+" ");
if(x==12)System.out.println();
if(x==25)System.out.println();
if(x==38)System.out.println();
if(x==51)System.out.println();
}
System.out.println();
System.out.println("将洗过的牌按次序分发给东南西北四家,各家的牌如下:");
int z=0;
for(int a1=0;a1<4;a1++)
{
for(int x=0;x<porke.length;x++)
{ int m=a[x];
if(x%4==z)
{ int i=0;i++;Card s[]=new Card[13];
if(x==0){System.out.println("东家的牌为:");}
if(x==1){System.out.println("南家的牌为:");}
if(x==2){System.out.println("西家的牌为:");}
if(x==3){System.out.println("北家的牌为:");}
s[i]=new Card(porke[m].color,porke[m].value,porke[m].num);
System.out.print(s[i].color+s[i].value+" ");
}
}
System.out.println();z++;
}
}
}
在最后我想将东家的牌按num的大小排序显示出来,可是我试图比较s[I].num与s[i+1].num时,却出现了错误,我刚学java,发现不了错误,请大虾们帮我看下哪里有问题,不胜感激!!!!!真的!!!!!