public void sort(Card[] temp){
for(int i=0;i<temp.length-1;i++)
   for(int j=temp.length-1;j>i;j--){
    if(temp[j].getKey()<temp[j-1].getKey())
    Card x=temp[j];
    temp[j]=temp[j-1];
    temp[j-1]=x;
    }
}编译出现如下错误:casino.java:84: 不是语句
    Card x=temp[j];
    ^
casino.java:84: 需要 ';'
    Card x=temp[j];
        ^
2 错误
这是什么原因呀。

解决方案 »

  1.   

    import java.math.*;
     class Card{
    int suit,face;
    public Card(int s,int f){
    suit=s;
    face=f;
    }
    public String display(){
    String suitString="";
    if(suit==0) suitString="方块";
    if(suit==1) suitString="梅花";
    if(suit==2) suitString="红桃";
    if(suit==3) suitString="黑桃";
    String faceString="";
    if(face>=0&&face<9) faceString=""+(face+2);
    if(face==9) faceString="J";
    if(face==10) faceString="Q";
    if(face==11) faceString="K";
    if(face==12) faceString="A";
    return (suitString+faceString);
    }
    public int getKey(){
    return(suit*13+face);
    }
    }
    class PlayingCards{
    public static final int max=54;
    Card[] deck=new Card[max];
    public PlayingCards(){
    for(int i=0;i<4;i++)
        for(int j=0;j<13;j++)
           deck[i*13+j]=new Card(i,j);
    }
    public void shuffle(){
    for(int m=0;m<200;m++){
    int index1=(int)(Math.random()*max);
    int index2=(int)(Math.random()*max);
    Card[] temp=new Card[(int)Math.abs(index1-index2+1)];
    if(index1>index2){
    for(int i=index2,j=0;i<=index1&&j<=(index1-index2);i++,j++){
    temp[j]=deck[i];
    }
    for(int i=index1;i>=0;i--){
    deck[i+index1-index2+1]=deck[i];
    }
    for(int i=0,j=0;i<=(index1-index2)&&j<=(index1-index2);i++,j++){
    deck[i]=temp[j];
    }
    }
    else {
    for(int i=index1,j=0;i<=index2&&j<=(index2-index1);i++,j++){
    temp[j]=deck[i];
    }
    for(int i=index2;i>=0;i--){
    deck[i+index2-index1+1]=deck[i];
    }
    for(int i=0,j=0;i<=(index2-index1)&&j<=(index2-index1);i++,j++){
    deck[i]=temp[j];
    }
    }
    }
    }
    public void deal(Card[] east,Card[] south,Card[] west,Card[] north,Card[] base){
    for(int i=0;i<max-6;i++){
    int who=i%4;
    int round=i/4;
    if(who==0) east[round]=deck[i];
    if(who==1) south[round]=deck[i];
    if(who==2) west[round]=deck[i];
    if(who==3) north[round]=deck[i];
    }
    for(int j=max-6,i=0;j<max&&i<6;j++,i++){
    base[i]=deck[j];
    }
    sort(east);
    sort(south);
    sort(west);
    sort(north);
    }
    public void sort(Card[] temp){
    for(int i=0;i<temp.length-1;i++)
       for(int j=temp.length-1;j>i;j--){
        if(temp[j].getKey()<temp[j-1].getKey())
        Card x=temp[j];
        temp[j]=temp[j-1];
        temp[j-1]=x;
        }
    }
    }
    public class casino{
           public static final int submax=13;
    public static void showHand(Card[] east,Card[] south,Card[] west,Card[] north,Card[] base){
    System.out.print("东:");
    for(int index=0;index<submax;index++){
    System.out.print(east[index]+" ");
    }
    System.out.println();

    System.out.print("南:");
    for(int index=0;index<submax;index++){
    System.out.print(south[index]+" ");
    }
    System.out.println();

    System.out.print("西:");
    for(int index=0;index<submax;index++){
    System.out.print(west[index]+" ");
    }
    System.out.println();

    System.out.print("北:");
    for(int index=0;index<submax;index++){
    System.out.print(north[index]+" ");
    }
    System.out.println();

    System.out.print("底牌:");
    for(int index=max-6;index<max;index++){
    System.out.print(base[index]+" ");
    }
    System.out.println();

    }


    public static void main(String[] args){
    PlayingCards play=new PlayingCards();
    play.shuffle();
    Card[] east=new Card[submax];
    Card[] south=new Card[submax];
    Card[] west=new Card[submax];
    Card[] north=new Card[submax];
    Card[] base=new Card[6];
    play.deal(east,south,west,north,base);
    showHand(east,south,west,north,base);
    }
    }整个程序是这个,不过,有的地方还没有必进,比如:还没有设大,小王等。
      

  2.   

    public void sort(Card[] temp)
        {
            for (int i = 0; i < temp.length - 1; i++)
                for (int j = temp.length - 1; j > i; j--)
                {
                    Card x = null;
                    if (temp[j].getKey() < temp[j - 1].getKey())
                    {
                        x = temp[j];
                    }
                    temp[j] = temp[j - 1];
                    temp[j - 1] = x;
                }
        }