一、打印52张扑克牌
步骤如下:
(1)定义一个名为Card的扑克牌类,该类有两个private访问权限的字符属性face 和 suit ,分别用来描述一张牌的牌面值(如:A、K、Q、j、10、9、…3、2等)和花色(如:“黑桃”、“红桃”、“梅花”、和“方块”)。
(2)、定义Card类的public 访问权限的构造方法,类中的属性赋值
(3)、定义protected 访问权限的方法getFace(),得到扑克牌的牌面值
(4)、定义proctected访问权限的方法getSuit(),得到扑克牌的花色
(5)、定义toString (),返回表示扑克牌的花色和面值字符串(如“红桃A”,“梅花10”等)。
(6)编写main方法,在其中定义字符串数组f 和s,分别表示扑克的牌面值和花色;定义一个数组存储52个Card对象,并为这些对象分别赋值
代码如下:
import java.util.Arrays;
public class Card {
//属性
private String face;
private String suit;
//默认的构造方法
public Card()
{
}
//为类中属性赋值的构造方法
public Card(String face ,String suit)
{
this.face=face;
this.suit=suit;
}
//定义getFace()方法
protected String getFace(String face)
{
return face;
}
//定义getSuit()方法
protected String getSuit(String suit)
{
return suit;
}
//定义toString()方法
public String toString(String face,String suit)
{
return face +suit;
}
public static void main(String[] args) {
//定义字符串数组牌面值 f 和 s花色
String[] f={"A","K","Q","J","10","9","8","7","6","5","4","3","2"};
String[] s={"黑桃","红桃","梅花","方块"};
//定义一个二维数组存储52个Card对象
Card[][] array = new Card[4][13];
//52个Card对象,每种花色s对应13张牌面值f就4*13=52张牌,一种花色s 和一种牌面值就对应组成一张牌
for(int i=0;i<s.length;i++) //花色
{
for(int j=0;j<f.length;j++) //牌面值
{
array[i][j]=new Card(s[i],f[j]);//每种花色s对应13张牌面值f就4*13=52张牌,一种花色s 和一种面值牌就对应组成一张牌
System.out.println(array[i][j]); //因为每张牌是由花色和牌面值组成的,所以直接输出array[i][j]就是一张牌了
}
}
}
/*
*重写父类Object的toString方法,右键--->Generate toString() ,也可以自己写return 返 回
*的内容、格式
*/
@Override
public String toString() {
return "Card [face=" + face + ", suit=" + suit + "]";
}
}
结果如下: