新手 :java 如何在一个class输出一个arraylist 求助大侠

importjava.util.ArrayList;publicclassKeeper{privateintid;privateStringname;privateArr... import java.util.ArrayList;

public class Keeper {

private int id;

private String name;

private ArrayList<String> mSpeciesExpertise = new ArrayList<String>();

private ArrayList<Animals> mAnimalsDuties = new ArrayList<Animals>();

public Keeper(int id,String name)

{

this.id=id;

this.name=name;

//weigh or feed

}

public Keeper(){

name=null;id=0;

}

public void newKeeper(int id,String name)

{

this.id=id;

this.name=name;

}

public int getId(){return id;}

public String getName(){return name;}

public void setId(int a){id=a;}

public void setName(String b){name=b;}

public void addExpertise (String aSpecies) {

if (!mSpeciesExpertise.contains(aSpecies)) {

mSpeciesExpertise.add(aSpecies);}}

/**

* Add a Species to the list of species that this keeper is an expert in

* @param aSpecies

*/

public void addAnimalDuty(Animals anAnimal) {

if (!mAnimalsDuties.contains(anAnimal)) {

mAnimalsDuties.add(anAnimal);

}

}/**

* Add the given animal to the list of animals that this keeper has duties for.

* @param anAnimal

*/

public static void main (String []args){

Keeper k1=new Keeper(1,"Mike");

k1.addExpertise("leo");

Animals an=new Animals("Panda",100,1000,"Panda");

k1.addAnimalDuty(an);

System.out.println(k1.getId()+" "+k1.getName()+k1.mSpeciesExpertise+
k1.mAnimalsDuties
);//k1.mAnimalsDuties 这个arraylist 输不出来, 这个是animal 的arraylist,animal class里面有各种variable的getters

}}

要怎样才能输出k1.mAnimalsDuties里面的东西呢,就是"Panda",100,1000,"Panda"。。。
还有,
我想compose两个class, 一个是animal 一个是keeper, 要怎么做?
展开
 我来答
您还没有取名
2013-09-23 · 超过16用户采纳过TA的回答
知道答主
回答量:67
采纳率:100%
帮助的人:44万
展开全部
你这个animal的arraylist里面存的是animal的对象,你当然要先获得对象再获得对象的属性啊
K1.mAnimalsDuties.get[0].getAnimalName()(具体的get方法看你animal类怎么写的)
daojianqingcho
2013-09-22 · TA获得超过452个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:135万
展开全部
List类里放的是对象,也就是Animal对象,你可以写一个循环或和迭代器迭代进行输入。如下:

Animal animal = null ;
for (int i = 0; i < mAnimalsDuties.size(); i++) {
//因为List里取出的对象是Object类型,所以要下溯造型成具体类型,即Animal类
animal = (Animal) mAnimalsDuties.get(i) ;
System.our.println("the name:" + animal.getMethod()) ;
//同上........
}

//下面是用迭代器迭代的方法,我还是附上关键代码:
Interator i = mAnimalsDuties.interator() ;
Animal a = null ;
while (i.hasNext()) {
a = i.next() ;
System.our.println("the name:" + animal.getMethod()) ;
//同上........
}

你要Compose2个类是什么意思?是写两个类吗?可以放在同一个文件里,也可以放在不同的文件里,放在一个文件里就只能有一个是public的,随你意啊。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式