java写生活小宠物需要哪些功能

如题所述

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<12;i++) lz[i]=new Longzi();
}
void cal()//统计
{
String s[]={"Cat","Dog","Snake"};
int cnt[]={0,0,0};
for(int i=0;i<12;i++)
{
String ki=lz[i].getKind();
for(int j=0;j<3;j++)
{
if(ki.equals(s[j])) cnt[j]++;
}
}
for(int i=0;i<3;i++)
{
System.out.println(s[i]+"有"+cnt[i]+"只");
}
}
}
public class Test{

public static void main(String []args){
Shelves sl=new Shelves();
Animal ai;
ai=new Cat("小白","鱼");
sl.lz[3].add(ai);//第4个笼子放只猫
sl.lz[3].check();

ai=new Dog("小黑","屎");
sl.lz[2].add(ai);//第3个笼子放只狗
sl.lz[2].check();

ai=new Snake("小青","老鼠");
sl.lz[8].add(ai);//第9个笼子放只蛇
sl.lz[8].check();

sl.cal();//统计
}
}
温馨提示:答案为网友推荐,仅供参考