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 错误
这是什么原因呀。
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 错误
这是什么原因呀。
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);
}
}整个程序是这个,不过,有的地方还没有必进,比如:还没有设大,小王等。
{
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;
}
}