动物乐园-->新手上路

这是动物乐园输出结果图
这里写图片描述

                   **动物乐园**

//父类
package com.iqn.zoo;

public abstract class Animal {
//名字 腿
private String name;
private int legNum;

//无参构造方法
public Animal(){

}
//带参构造方法
public Animal(String name,int legNum){
    this.name=name;
    this.legNum=legNum;
}
//构造一个普通抽象的shout方法  实现动物的各种叫声
public abstract void shout();



public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public int getLegNum() {
    return legNum;
}
public void setLegNum(int legNum) {
    this.legNum = legNum;
}

}
//子类 猫类
package com.iqn.zoo;

public class Cat extends Animal implements Terrestrial{
public Cat(){

}
//带参猫类的构造方法
public Cat(String name,int legNum){
    super(name,legNum);
    super.setName(name);
    super.setLegNum(legNum);
}

@Override
public int gerLegNum() {

    return 0;
}

@Override
public void shout() {
    System.out.println(getName()+"\t\t"+getLegNum()+"\t"+"喵喵喵儿!~");

}

}
//子类 鸭类
package com.iqn.zoo;

public class Duck extends Animal implements Terrestrial{
//无参鸭类
public Duck(){

}
//带参鸭类构造方法
public Duck(String name,int legNum){
    super(name,legNum);
    super.setName(name);
    super.setLegNum(legNum);
}

public void shout(){
    System.out.println(getName()+"\t\t"+getLegNum()+"\t"+"嘎嘎嘎!~");
}
@Override
public int gerLegNum() {

    return 0;
}

}
//子类 海豚类
package com.iqn.zoo;

public class Dolphin extends Animal{

public Dolphin(){

}
//带参海豚类的构造方法
public Dolphin(String name,int legNum ){
    super(name,legNum);
    super.setName(name);
    super.setLegNum(legNum);
}
@Override
public void shout() {
    System.out.println(getName()+"\t\t"+getLegNum()+"\t"+"海豚音!~");

}

}
//接口
package com.iqn.zoo;

public interface Terrestrial {
//定义一个腿的接口
public int gerLegNum();
}
//Test 测试类
package com.iqn.zoo;
import java.util.Scanner;

public class Test {

    static Scanner input=new Scanner(System.in);//接收数据
    static Animal[] animals=new Animal[3];
    static int choose;

//********************创建对象数组**********************
public static void start(){

        animals[0]=new Cat("加菲猫",4);
        animals[1]=new Duck("唐小鸭",2);
        animals[2]=new Dolphin("海豚奇奇",0);
        start1();           //方法调用
        choose=input.nextInt();
    }

//**********************main***********************************
public static void main(String[] args) {
start();//此时已执行过start()和start1。
while(choose==0){
//用try-catch-finally语句捕捉异常
try {
modify(); //调用自定义方法
} catch (Exception e) {
e.printStackTrace();
}finally{
start1();
choose=input.nextInt();
}
}
System.out.println(“谢谢使用!”);
}
//*****************遍历输出***********************
public static void start1(){
System.out.println(“动物的名字”+”\t腿的条数”+”\t动物叫”);
for(Animal animal:animals){

            animal.shout();
        }
        System.out.println("是否继续修改数据:按0进行修改操作,其他任意数字键退出");
    }

//************覆盖当前数组并进行对“腿”的数量进行异常校验*************
public static void modify() throws Exception{
String[] names=new String[3];
int[] legNums=new int[3];

        System.out.println("请输入猫的名字:");
        names[0]=input.next();
        System.out.println("请输入猫有几条腿:");
        legNums[0]=input.nextInt();
        if(legNums[0]!=4){
            throw new Exception("猫只能有四条腿!");
        }
        System.out.println("请输入鸭的名字:");
        names[1]=input.next();
        System.out.println("请输入鸭有几条腿:");
        legNums[1]=input.nextInt();
        if(legNums[1]!=2){
            throw new Exception("鸭只能有两条腿!");
        }
        System.out.println("请输入海豚的名字:");
        names[2]=input.next();
        animals[0]=new Cat(names[0],legNums[0]);
        animals[1]=new Duck(names[1],legNums[1]);
        animals[2]=new Dolphin(names[2],legNums[0]);
    }

}



----------

希望可以帮到大家!求IT大牛指点~谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值