通过抽象类,抽象方法实现
宠物类 属性(昵称(String) 健康值(int) 亲密度(int)),方法(吃饭,输出宠物信息),
狗狗 属性:(品种)方法(吃饭,玩飞盘)和企鹅 属性:(性别) 方法(吃饭,游泳)的父类
创建管理员类,主人领养宠物通过键盘输入数字领养宠物(1、狗狗 2、企鹅)
并实现给庞物喂食(创建喂食方法)和主人与庞物玩耍(创建玩耍方法)
其中,每次喂食健康值不能超过100(吃饱),不足100每次喂养加5,
与宠物玩耍健康值减5,亲密度加3,
//宠物类 属性(昵称(String) 健康值(int) 亲密度(int)),方法(吃饭,输出宠物信息)
abstract class Pet{
// 属性(昵称(String) 健康值(int) 亲密度(int))
private String name;
private int health;
private int init;
final static int HEA=5;
final static int INIT=3;
public Pet(String name, int health, int init) {
super();
this.name = name;
this.health = health;
this.init = init;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHealth() {
return health;
}
public void setHealth(int health) {
this.health = health;
}
public int getInit() {
return init;
}
public void setInit(int init) {
this.init = init;
}
abstract public void eat();
abstract public void show();
}
//狗狗 属性:(品种)方法(吃饭,玩飞盘)
class Dog extends Pet{
String var;
public Dog(String name,int health,int init,String var) {
super(name,health,init);
this.var = var;
}
public void eat() {
System.out.println("喜欢吃狗粮!");
}
public void play() {
System.out.println("喜欢玩飞盘!");
}
public void show() {
System.out.println("宠物信息为:"+"\n姓名:"+getName()+"品种等级:"+var+"\n健康值:"+getHealth()+"\n亲密度:"+getInit());
eat();
play();
}
}
//企鹅 属性:(性别) 方法(吃饭,游泳)的父类
class Penguin extends Pet{
private String var;
public Penguin(String name,int health,int init,String var) {
super(name,health,init);
this.var = var;
}
public String getVar() {
return var;
}
public void setVar(String var) {
this.var = var;
}
public void eat() {
System.out.println("喜欢吃鱼!");
}
public void play() {
System.out.println("喜欢游泳!");
}
public void show() {
System.out.println("宠物信息为:"+"\n姓名:"+getName()+"品种等级:"+var+"\n健康值:"+getHealth()+"\n亲密度:"+getInit());
eat();
play();
}
}
//创建管理员类
class Administ extends Pet{
Dog d=new Dog("小猪",40,70,"A");
Penguin p=new Penguin("小猪",40,70,"A");
public Administ(String name, int health, int init) {
super(name, health, init);
}
// 主人领养宠物通过键盘输入数字领养宠物(1、狗狗 2、企鹅)
public void adopt() {
Scanner input=new Scanner(System.in);
System.out.println("请主人通过键盘输入数字领养宠物(1、狗狗 2、企鹅)");
int a=input.nextInt();
if(a==1) {
System.out.println("恭喜您成功领养A级宠物狗:"+getName());
d.show();
Scanner i=new Scanner(System.in);
System.out.println("是否改名(1、是 2、否)");
int b=i.nextInt();
if(b==1) {
Scanner n=new Scanner(System.in);
System.out.println("请输入姓名:");
String c=i.next();
setName(c);
System.out.println("您的宠物成功改名为:"+getName());
}
}else if(a==2){
System.out.println("恭喜您成功领养A级宠物企鹅:"+getName());
p.show();
Scanner i=new Scanner(System.in);
System.out.println("是否改名(1、是 2、否)");
int b=i.nextInt();
if(b==1) {
Scanner n=new Scanner(System.in);
System.out.println("请输入姓名:");
String c=i.next();
setName(c);
System.out.println("您的宠物成功改名为:"+getName());
}
}else {
System.out.println("选择出错!");
}
}
public void eat() {
if(getHealth()==100) {
System.out.println("您的宠物十分健康,请勿重复投食!");
}else if(getHealth()>=0&&getHealth()<100) {
System.out.println("您的宠物处于饥饿状态,请输入投食次数");
Scanner input=new Scanner(System.in);
int a=input.nextInt();
for(int i=0;i<a;i++) {
if(getHealth()<100) {
setHealth(getHealth()+HEA);
System.out.println(getHealth());
}else {
System.out.println("您的宠物已经满状态!");
break;
}
}
}else if(getHealth()<0) {
System.out.println("您的宠物已经被你玩死了");
}
}
public void play() {
if(getInit()==100) {
System.out.println("您与宠物亲密度已满!");
}else if(getInit()>=0&&getInit()<100) {
System.out.println("您的宠物处于无聊状态,请输入玩耍次数:");
Scanner input=new Scanner(System.in);
int a=input.nextInt();
for(int i=0;i<a;i++) {
if(getInit()<100) {
if(getHealth()>0) {
setInit(getInit()+INIT);
setHealth(getHealth()-HEA);
System.out.println("亲密度:"+getInit());
System.out.println("健康值:"+getHealth());
}else {
System.out.println("您的宠物极度疲劳,自动停止游戏!");
break;
}
}else {
System.out.println("您的宠物亲密度已满,自动停止游戏!");
break;
}
}
}else if(getInit()<0) {
System.out.println("您的宠物已经离开您了");
}
}
public void show() {
System.out.println("您当前宠物信息:"+"健康值:"+getHealth()+"亲密度:"+getInit());
}
}
public class WorkPet {
public static void main(String[] args) {
Administ a=new Administ("小猪",40,70);
a.adopt();
a.eat();
a.play();
a.show();
}
}