黑马程序员技术交流社区
标题:
类类型数组的初始化
[打印本页]
作者:
黑马-刘心武
时间:
2012-9-6 10:45
标题:
类类型数组的初始化
本帖最后由 黑马-刘心武 于 2012-9-6 23:31 编辑
以下程序是获得一副扑克牌,每一张扑克是一个扑克牌对象
class Pokers{
String color;
String num;
}
class PokerFactory{
Pokers[] arrPoker = new Pokers[52];
public void createPoker(){//创建扑克牌
int index = 0;
for(int i=0;i<PokerTools.arrColor.length;i++){
for(int j=0;j<PokerTools.arrNum.length;j++){
arrPoker[index] = new Pokers();//为什么要循环一次都初始化次,能不能对整个数组元素一次性初始化?
arrPoker[index].color=PokerTools.arrColor[i];
arrPoker[index].num = PokerTools.arrNum[j];
index++;
}
}
}
class PokerTools{
public static String[] arrColor= {"黑桃","红桃","梅花","方片"};
public static String[] arrNum = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
}
复制代码
以上是用查表法来实现给扑克对象赋以花色和数字,在类PokerFactory中定义了Pokers类型数组,但是每一次赋值前都得对数组元素先声明一个Pokers对象,
能不能使数组所有元素元素一次性初始化为Pokers对象?
作者:
袁艳超
时间:
2012-9-6 11:07
要给数组显示初始化,肯定使用循环
可以把初始化数组的循环写到PokerFactory类的构造方法里:
public PokerFactory(){
for(int i = 0;i<arrPoker.length;i++){
arrPoker[i] = new Pokers();
}
}
作者:
武庆东
时间:
2012-9-6 11:46
这个不可以!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2