作业帮 > 综合 > 作业

怎么用JAVA 编写 宠物进笼 那道题啊?题目如下;急需谢谢,有很多地方不明白。

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/14 02:28:46
怎么用JAVA 编写 宠物进笼 那道题啊?题目如下;急需谢谢,有很多地方不明白。
Annie的宠物小屋里有12个笼子,每个笼子可以放不同的动物,包括猫,狗和蛇,但同一时刻一个笼子只能放0只或1只宠物,本题要求完成:(1)定义抽象基类Animal,至少包含抽象方法ShowMe;(2)定义派生类Cat,Dog,Snake,具体实现上述抽象方法ShowMe,显示该宠物的种类,名称和喜欢的食物。(3)定义笼子类,能放0只或1只宠物,可以增加,移除指定笼子中的宠物,查询每个笼子中存放宠物的情况;(4)定义描述宠物小屋的类Shelves,其中包括12个笼子用于存放各种宠物;可统计宠物的种类和数量。(5)实现一个简单的控制类,测试上述类
abstract class Animal{
String kind,name,food;
abstract void ShowMe();
}
class Cat extends Animal{
Cat(String na,String fo)
{
kind="Cat"; name=na; food=fo;
}
void ShowMe(){
System.out.println("kind="+kind+",name="+name+",food="+food);
}
}
class Dog extends Animal{
Dog(String na,String fo)
{
kind="Dog"; name=na; food=fo;
}
void ShowMe(){
System.out.println("kind="+kind+",name="+name+",food="+food);
}
}
class Snake extends Animal{
Snake(String na,String fo)
{
kind="Snake"; name=na; food=fo;
}
void ShowMe(){
System.out.println("kind="+kind+",name="+name+",food="+food);
}
}
class Longzi{
int cnt;
Animal ai;
Longzi()
{
cnt=0;
}
void add(Animal a)//增加
{
if(cnt!=0) System.out.println("笼子已满!");
else {

ai=a;
cnt=1;
}
}
void del()//删除
{
cnt=0;
}
void check()//查询
{
if(cnt==0) System.out.println("笼子为空");
else ai.ShowMe();
}
String getKind()//获取种类
{
if(cnt==0) return "";
else return ai.kind;
}
}
class Shelves{
Longzi lz[]=new Longzi[12];
Shelves()
{
for(int i=0;i