package com.bdqn.c;
public abstract class Animal {
private String name =null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Animal(String name) {
super();
this.name = name;
}
public abstract void print();
}
package com.bdqn.c;
public abstract class Animal {
private String name =null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Animal(String name) {
super();
this.name = name;
}
public abstract void print();
}
package com.bdqn.c;
public class Dolphin extends Animal {
public Dolphin(String name) {
super(name);
// TODO Auto-generated constructor stub
}
@Override
public void print() {
// TODO Auto-generated method stub
System.out.println("海豚音......");
}
}
package com.bdqn.c;
public class Cat extends Animal implements LegNum {
private int Legnum=0;
public Cat(String name,int Legnum) {
super(name);
this.Legnum=Legnum;
// TODO Auto-generated constructor stub
}
@Override
public int Legnum() {
// TODO Auto-generated method stub
return Legnum;
}
@Override
public void print() {
// TODO Auto-generated method stub
System.out.println("喵喵喵......");
}
}
package com.bdqn.c;
public interface LegNum {
public int Legnum();
}
package com.bdqn.c;
import java.util.Scanner;
public class Test {
static Animal[] animals = new Animal[3];//设置动物数量个数
static Scanner input = new Scanner(System.in);
static int choose;
public static void a() {//设置参数
animals[0] = new Cat("加菲猫", 4);
animals[1] = new Duck("唐小鸭", 2);
animals[2] = new Dolphin("海豚奇奇");
b();//
choose = input.nextInt();
}
public static void b() {
System.out.println("动物名字\t\t腿的条数\t\t动物叫");
for (int i = 0; i < animals.length; i++) {
if (animals[i] instanceof LegNum) {
String name = animals[i].getName();
int legNum = ((LegNum) animals[i]).Legnum();
System.out.print(name + "\t\t" + legNum + "\t\t");
animals[i].print();
} else {
String name = animals[i].getName();
System.out.print(name + "\t\t" + 0 + "\t\t");
animals[i].print();
}
}
System.out.println("修改数据:按0进行修改操作,其它任意数字键退出");
}
public static void c() throws Exception {
String[] names = new String[3];
int[] number = new int[3];
System.out.println("请输入猫的名称");
names[0] = input.next();
System.out.println("请输入猫腿的条数");
number[0] = input.nextInt();
if (number[0] != 4) {
throw new Exception("猫只能有4条腿");
}
System.out.println("请输入鸭子的名称");
names[1] = input.next();
System.out.println("请输入鸭子腿的条数");
number[1] = input.nextInt();
if (number[1] != 2) {
throw new Exception("鸭子只能有两条腿");
}
System.out.println("请输入海豚的名称");
names[2] = input.next();
animals[0] = new Cat(names[0], number[0]);
animals[1] = new Duck(names[1], number[1]);
animals[2] = new Dolphin(names[2]);
}
public static void main(String[] args) {
a();
while (choose == 0) {
try {
c();
} catch (Exception e) {
e.printStackTrace();
} finally {
b();
choose = input.nextInt();
}
}
System.out.println("谢谢使用!");
}
}
public abstract class Animal {
private String name =null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Animal(String name) {
super();
this.name = name;
}
public abstract void print();
}
package com.bdqn.c;
public abstract class Animal {
private String name =null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Animal(String name) {
super();
this.name = name;
}
public abstract void print();
}
package com.bdqn.c;
public class Dolphin extends Animal {
public Dolphin(String name) {
super(name);
// TODO Auto-generated constructor stub
}
@Override
public void print() {
// TODO Auto-generated method stub
System.out.println("海豚音......");
}
}
package com.bdqn.c;
public class Cat extends Animal implements LegNum {
private int Legnum=0;
public Cat(String name,int Legnum) {
super(name);
this.Legnum=Legnum;
// TODO Auto-generated constructor stub
}
@Override
public int Legnum() {
// TODO Auto-generated method stub
return Legnum;
}
@Override
public void print() {
// TODO Auto-generated method stub
System.out.println("喵喵喵......");
}
}
package com.bdqn.c;
public interface LegNum {
public int Legnum();
}
package com.bdqn.c;
import java.util.Scanner;
public class Test {
static Animal[] animals = new Animal[3];//设置动物数量个数
static Scanner input = new Scanner(System.in);
static int choose;
public static void a() {//设置参数
animals[0] = new Cat("加菲猫", 4);
animals[1] = new Duck("唐小鸭", 2);
animals[2] = new Dolphin("海豚奇奇");
b();//
choose = input.nextInt();
}
public static void b() {
System.out.println("动物名字\t\t腿的条数\t\t动物叫");
for (int i = 0; i < animals.length; i++) {
if (animals[i] instanceof LegNum) {
String name = animals[i].getName();
int legNum = ((LegNum) animals[i]).Legnum();
System.out.print(name + "\t\t" + legNum + "\t\t");
animals[i].print();
} else {
String name = animals[i].getName();
System.out.print(name + "\t\t" + 0 + "\t\t");
animals[i].print();
}
}
System.out.println("修改数据:按0进行修改操作,其它任意数字键退出");
}
public static void c() throws Exception {
String[] names = new String[3];
int[] number = new int[3];
System.out.println("请输入猫的名称");
names[0] = input.next();
System.out.println("请输入猫腿的条数");
number[0] = input.nextInt();
if (number[0] != 4) {
throw new Exception("猫只能有4条腿");
}
System.out.println("请输入鸭子的名称");
names[1] = input.next();
System.out.println("请输入鸭子腿的条数");
number[1] = input.nextInt();
if (number[1] != 2) {
throw new Exception("鸭子只能有两条腿");
}
System.out.println("请输入海豚的名称");
names[2] = input.next();
animals[0] = new Cat(names[0], number[0]);
animals[1] = new Duck(names[1], number[1]);
animals[2] = new Dolphin(names[2]);
}
public static void main(String[] args) {
a();
while (choose == 0) {
try {
c();
} catch (Exception e) {
e.printStackTrace();
} finally {
b();
choose = input.nextInt();
}
}
System.out.println("谢谢使用!");
}
}