首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

小弟我的数组如何引用不了

2011-12-29 
我的数组怎么引用不了?有这样一个程序:publicclassbijiao{staticclassCard{StringvalueStringcolorintnu

我的数组怎么引用不了?
有这样一个程序:
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,发现不了错误,请大虾们帮我看下哪里有问题,不胜感激!!!!!真的!!!!!

[解决办法]
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( "北家的牌为: ");}

x应该是z吧!!
[解决办法]
而且你这部分的效率也太低了,在你给东家发牌的时候非要检查x是否是0,4,8,12,16,20,24,28,32,36,40,44,48而x为中间的直即使不是程序还是要检查,这样不是高效率的程序,你想,既然牌都已经洗好了,那就是随机的了,可以顺次发13张牌,你再去没隔3张发一张
有什么意义呢!?
[解决办法]
楼上的,人家是模拟我们真人玩牌,按顺序拿牌!

热点排行