/*
做出一副扑克牌(不包含大小王)
分析:
1, 通过一张扑克牌抽象出一个扑克牌类,通过分析,扑克牌类只有两个成员属性,一个是花色color,一个是值number。
2, 将color 、 number私有化(private),通过set/get方法操作
3, 为扑克牌类建立连个构造函数
1,无参构造 通过set/get方法赋值和取值
2,有参构造 建立对象时直接赋值
4, 分析扑克牌的花色和值是固定的
1,花色为:红桃,黑桃,方块,梅花
2,值为:A,2,3,4,5,6,7,8,9,10,J,Q,K
————使用数组去操作
5, 创建一个Poker类型数组,用于存储扑克(重点)
int[] arr = new int[5]; //建一个int类型的数组arr
同样道理
Poker[] ps = new Poker[]; //建一个Poker类型的数组 ps
*/
class Test2
{
public static void main(String[] args){
String[] cs = {"红桃","黑桃","方块","梅花"}; //建一个花色的数组
String[] ns = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; //建一个值的数组
Poker[] ps = new Poker[cs.length*ns.length]; //建一个Poker类型的数组,他的长度为cs乘以ns
int index=0; //定义ps的下标变量
for(int i = 0; i<cs.length; i++){
for(int j = 0; j<ns.length; j++){
//ps[index++] = new Poker("红桃","A"); //将ps[index]初始化,并且自动累加;通过有参构造赋值
ps[index++] = new Poker(cs[i],ns[j]);
}
}
//遍历ps数组
for(int i = 0; i<ps.length; i++){
//控制当一种花色打印完换行
if(i%ns.length==0){
System.out.println();
}
ps[i].show();
}
}
}
/*
建立一个扑克类。
两个成员属性 color number
将两个成员属性私有化,并建立set和get方法
*/
class Poker
{
private String color;
private String number; //因为值里面有10所以不能用char类型
//无参构造
Poker(){}
//有参构造
Poker(String color, String number){
this.color=color;
this.number=number;
}
//color的set方法
public void setColor(String color){
this.color=color;
}
//number的set方法
public void setNumber(String number){
this.number=number;
}
//color的get方法
public String getColor(){
return color;
}
//number的get方法
public String getNumber(){
return number;
}
//显示一张扑克牌show方法
public void show(){
System.out.print(color+number+" ");
}
}
|