import java.util.*;
public class ApplycationCard
{
public static void main(String[] args)
{Deck deckcards=new Deck();
deckcards.riffleCard();
deckcards.dealCard();}
}
一个类;
import java.util.*;
public class Deck
{public Card[] cards;
public Deck(){
cards=new Card[52];
for(int i=0;i<4;i++)
{
for(int j=1;j<14;j++)
{
cards[i*13+j-1]=new Card(Suit.values()[i],Rank.values()[j]);
}
}
for(Card e:cards)
System.out.println(e.toString());
}public void riffleCard()
{
Card[] tempCard=new Card[52];
for(int i=52;i>=1;i--)
{int temp=(int)Math.round((Math.random()*100))%i;
tempCard[52-i]=cards[temp];
cards[temp]=cards[i-1];
}
for(int i=0;i<52;i++)
cards[i]=tempCard[i];}public void dealCard()
{
Card[] tempOne=new Card[13];
Card[] tempTwo=new Card[13];
Card[] tempThree=new Card[13];
Card[] tempFour=new Card[13];for(int i=0;i<52;)
{
tempOne[i/4]=cards[i];
tempTwo[(i-1)/4]=cards[i+1];
tempThree[(i-2)/4]=cards[i+2];
tempFour[(i-3)/4]=cards[i+3];
i+=4;
}
for(Card e:tempOne)
System.out.println(e.toString());
for(Card e:tempTwo)
System.out.println(e.toString());
for(Card e:tempThree)
System.out.println(e.toString());
for(Card e:tempFour)
System.out.println(e.toString());}
}
一个类;import java.util.*;enum Suit{CLUBS,SPADE,DIAMONDS,HEARTS}
enum Rank{Ace,Deuce,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King}
public class Card
{
public Suit suit;
public Rank rank;
public void Card()
{}public Card(Suit newsuit,Rank newrank)
{
suit=newsuit;
rank=newrank;
} public String toString()
{
return "The"+rank+"of"+suit+"s";
}}
一个类;
运行,mian出错Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException,编译正常通过。我是新手,希望高手解答。(一副牌,出去大小王,分给四个人)
public class ApplycationCard
{
public static void main(String[] args)
{Deck deckcards=new Deck();
deckcards.riffleCard();
deckcards.dealCard();}
}
一个类;
import java.util.*;
public class Deck
{public Card[] cards;
public Deck(){
cards=new Card[52];
for(int i=0;i<4;i++)
{
for(int j=1;j<14;j++)
{
cards[i*13+j-1]=new Card(Suit.values()[i],Rank.values()[j]);
}
}
for(Card e:cards)
System.out.println(e.toString());
}public void riffleCard()
{
Card[] tempCard=new Card[52];
for(int i=52;i>=1;i--)
{int temp=(int)Math.round((Math.random()*100))%i;
tempCard[52-i]=cards[temp];
cards[temp]=cards[i-1];
}
for(int i=0;i<52;i++)
cards[i]=tempCard[i];}public void dealCard()
{
Card[] tempOne=new Card[13];
Card[] tempTwo=new Card[13];
Card[] tempThree=new Card[13];
Card[] tempFour=new Card[13];for(int i=0;i<52;)
{
tempOne[i/4]=cards[i];
tempTwo[(i-1)/4]=cards[i+1];
tempThree[(i-2)/4]=cards[i+2];
tempFour[(i-3)/4]=cards[i+3];
i+=4;
}
for(Card e:tempOne)
System.out.println(e.toString());
for(Card e:tempTwo)
System.out.println(e.toString());
for(Card e:tempThree)
System.out.println(e.toString());
for(Card e:tempFour)
System.out.println(e.toString());}
}
一个类;import java.util.*;enum Suit{CLUBS,SPADE,DIAMONDS,HEARTS}
enum Rank{Ace,Deuce,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King}
public class Card
{
public Suit suit;
public Rank rank;
public void Card()
{}public Card(Suit newsuit,Rank newrank)
{
suit=newsuit;
rank=newrank;
} public String toString()
{
return "The"+rank+"of"+suit+"s";
}}
一个类;
运行,mian出错Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException,编译正常通过。我是新手,希望高手解答。(一副牌,出去大小王,分给四个人)
楼主截止到2008-06-19 09:59:23的汇总数据:
注册日期:2007-9-12
上次登录:2008-6-19
发帖数:1
结贴数:0
结贴率: 0.00%
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
==>
for(int i=51;i>=0;i--)
你原来没有学过C/C++没有学过js
{
cards[i*13+j-1]=new Card(Suit.values()[i],Rank.values()[j]); //此行
}
是这一行报错,这里是吧int(i和j)转换成enum(Suit和Rank),但不知道是如何转换。
for(int i=52;i>=1;i--)
修改1:
cards[i*13+j-1]=new Card(Suit.values()[i],Rank.values()[j - 1]); 修改2:
for(int i=0;i <52;)
{
tempOne[i/4]=cards[i];
tempTwo[
(i-1)/4]=cards[i+1];tempThree[
(i-2)/4]=cards[i+2];tempFour[
(i-3)/4]=cards[i+3];i+=4;
}