- class Test6
- {
- public static void main(String[] args)
- {
- Poker[] ps=PokerTools.getPokers();//调用静态方法得到52张牌
- //将这些牌都打印出来
- for(int i=0;i<ps.length;i++){
-
- if(i%13==0){ //13张牌进行换行
- System.out.println();
- }
- System.out.print(ps[i].getColor()+ps[i].getNumber()+" ");
- }
- }
- }
- class PokerTools
- {
- static String[] cs={"黑桃","红桃","方块","梅花"};
- static String[] ns={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
- /*
- 这个方法得到52张扑克牌
- */
- public static Poker[] getPokers(){
-
- Poker[] ps=new Poker[cs.length*ns.length];
- int index=0;
- //静态的属性可以直接使用类名调用
- for(int i=0;i<PokerTools.cs.length;i++){
-
- //在静态方法中只能使用静态成员
- for(int j=0;j<ns.length;j++){
- /*
- //使用的无参构造
- Poker p=new Poker();
- p.setColor(PokerTools.cs[i]);
- p.setNumber(ns[j]);
- //ps[index++]=p;
- */
- //使用有参构造
- ps[index++]=new Poker(PokerTools.cs[i],ns[j]);
-
- }
- }
- return ps;
- }
- }
- class Poker
- {
- private String color; //私有化的实例属性,这些属性属于对象
- private String number;
- Poker(){
-
- }
- /*
- 构造方法 :用来初始化对象
- */
- Poker(String color,String number){ //这两个是局部
-
- this.color=color;
-
- this.number=number;
- }
- /*
- 通过get set方法 将属性封装
- */
- public void setColor(String color){ //局部
- //color=color 这时这两个都是局部
- this.color=color;
- }
- public void setNumber(String number){ //局部
- this.number=number;
- }
- public String getColor(){
-
- return color;//这时在这个方法中就一个color,this可以省略
- }
- public String getNumber(){
- return number;
- }
- }
- 这个是求出52长扑克牌的程序,现在想洗牌,不过还没学随机所以有没有大神来个方法洗牌啊
复制代码 |