动物乐园


public abstract class Animals {

private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
public abstract void shout();

}

public class Cat extends Animals implements LegNum {
int legNum;

public int getLegNum() {
return legNum;
}


public void setLegNum(int legNum) {
this.legNum = legNum;
}

public Cat(String name,int legNum) {
setName(name);
this.legNum = legNum;
}


public void shout() {
System.out.println("喵喵");
}

}

public class Dolphin extends Animals {

public Dolphin(String name) {
setName(name);
}
public void shout() {
System.out.println("海豚音");
}

}

public class Duck extends Animals implements LegNum {
private int legNum;


public int getLegNum() {
return legNum;
}


public void setLegNum(int legNum) {
this.legNum = legNum;
}

public Duck(String name,int legNum) {
setName(name);
this.legNum = legNum;
}


public void shout() {
System.out.println("呱呱");
}

}

public interface LegNum {
public void setLegNum(int num);
public int getLegNum();

}

public class Test {
static Animals[] animals = new Animals[3];
static Scanner in = new Scanner(System.in);
static int chooseNum;
public static void show() {
System.out.println("动物名字\t腿的条数\t动物叫");
for (int i = 0; i < animals.length; i++) {
if (animals[i] instanceof LegNum) {
System.out.print(animals[i].getName() + "\t\t" + ((LegNum) animals[i]).getLegNum() + "\t\t");
animals[i].shout();
} else {
System.out.print(animals[i].getName() + "\t\t0\t\t");
animals[i].shout();
}
}
System.out.println("是否继续修改数据(按0进行修改操作,其他任意数字键退出):");
chooseNum = in.nextInt();
}
public static void choose() throws Exception {
System.out.println("请输入猫的名字:");
String name0 = in.next();
System.out.println("请输入猫腿的条数:");
int legNum0 = in.nextInt();
if (legNum0 != 4) {
throw new Exception("猫只有4条腿");
}
animals[0] = new Cat(name0, legNum0);
System.out.println("请输入鸭子的名字:");
String name1 = in.next();
System.out.println("请输入鸭子腿的条数:");
int legNum1 = in.nextInt();
if (legNum1 != 2) {
throw new Exception("鸭只有2条腿");
}
animals[1] = new Duck(name1, legNum1);
System.out.println("请输入海豚的名字:");
String name2 = in.next();
animals[2] = new Dolphin(name2);
show();
choose();
}


public static void main(String[] args){
animals[0] = new Cat("猫咪", 4);
animals[1] = new Duck("唐老鸭", 2);
animals[2] = new Dolphin("齐齐");
show();
while (chooseNum == 0) {
try {
choose();
} catch (Exception e) {
e.printStackTrace();
} finally {
show();
}
}
System.out.println("程序退出!");
}
}

猜你喜欢

转载自blog.csdn.net/weixin_41880408/article/details/80262816