你指的是Card里的toString方法吧
public String toString() {String aa = suit + " " + num + " "
return aa
}
toString这个方法一般在 System.out.print时使用,这个是打印出String,JVM就是默认调用类的toSting方法
注:所有类都有toString方法,默认是当前对象的hashcode,即内存地址
所以在发牌是打印
public void dealcard()//发牌{
for(int i=0i<52i++)
{
if(i%4==0&&i!=0){
System.out.println() //每发4张牌输出换行
}
// 就是这里,默认调用card的toString方法
System.out.print(card[i]) //依次输出 发的牌
}
}
//牌类
public class Card {private int face //牌的面值
private int suit //牌的花色
public Card(int face, int suit) {
super()
this.face = face
this.suit = suit
}
public int getFace() {
return face
}
public void setFace(int face) {
this.face = face
}
public int getSuit() {
return suit
}
public void setSuit(int suit) {
this.suit = suit
}
}
//模拟洗牌和发牌
public class Test {public static void main(String[] args) {
Card[] deck = new Card[52]
fillDeck(deck)
deal(deck)
System.out.println()
}
private static void fillDeck(Card[] deck) {
int i, j=0
for (i = 0 i < 52 i++) {
j = (int) (Math.random() * 52)
deck[i]=new Card(j%13,j/13)
}
}
private static void deal(Card[] deck) {
int k1, k2
System.out.println()
for (k1 = 0, k2 = k1 + 26 k1 < 26 k1++, k2++) {
if (k1 % 13 == 0)
System.out.println("\n第" + (k1 / 13 + 1) +
"组牌:\t\t\t第"+ (k1 / 13 + 3) + "组牌:")
System.out.print("\nCard: " + deck[k1].getFace() +
" Suit: "+ deck[k1].getSuit())
System.out.print("\t\t\tCard: " + deck[k2].getFace() +
" Suit: "+ deck[k2].getSuit())
}
}
}