A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马-刘心武 初级黑马   /  2012-9-6 10:45  /  1295 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马-刘心武 于 2012-9-6 23:31 编辑

以下程序是获得一副扑克牌,每一张扑克是一个扑克牌对象
  1. class Pokers{
  2.     String color;
  3.     String num;
  4. }

  5. class PokerFactory{
  6.     Pokers[] arrPoker = new Pokers[52];
  7.     public void createPoker(){//创建扑克牌
  8.     int index = 0;
  9.     for(int i=0;i<PokerTools.arrColor.length;i++){
  10.         for(int j=0;j<PokerTools.arrNum.length;j++){
  11.            arrPoker[index] = new Pokers();//为什么要循环一次都初始化次,能不能对整个数组元素一次性初始化?
  12.            arrPoker[index].color=PokerTools.arrColor[i];
  13.            arrPoker[index].num = PokerTools.arrNum[j];
  14.            index++;
  15.        }
  16.     }
  17. }

  18. class PokerTools{
  19.     public static String[] arrColor= {"黑桃","红桃","梅花","方片"};
  20.     public static String[] arrNum = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
  21. }

复制代码
以上是用查表法来实现给扑克对象赋以花色和数字,在类PokerFactory中定义了Pokers类型数组,但是每一次赋值前都得对数组元素先声明一个Pokers对象,
能不能使数组所有元素元素一次性初始化为Pokers对象?

评分

参与人数 1技术分 +1 收起 理由
王德升 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
要给数组显示初始化,肯定使用循环
可以把初始化数组的循环写到PokerFactory类的构造方法里:
public PokerFactory(){               
        for(int i = 0;i<arrPoker.length;i++){
        arrPoker[i] = new Pokers();
        }
}
回复 使用道具 举报
这个不可以!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马