栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA综合练习-动物乐园

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA综合练习-动物乐园

需求说明 编写猫和鸭类,海豚类以及动物类   ;实现输出各种动物叫声;实现输出各种动物腿的条数

实现数据修改功能 实现抛出异常;

思路分析: 编写modify方法按照输入的信息实例化新的类 编写load方法,把输出动物信息的功能放在此方法中 如果腿的条数不符合客观条件则手动抛出异常 调用此方法时捕捉异常.

Animal.java

package com.cx.Animal;

public class Animal {
    private String name;
    private int legNum;


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

    public int getLegNum() {
        return legNum;
    }

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

    public void shout(){
    }

    public String getName() {
        return name;
    }

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

Cat.java

package com.cx.Animal;

public class Cat extends Animal implements Terrestrial {


    public Cat(String name, int legNum) {
        super("加菲猫", 4);
        this.getName();
        this.getLegNum();
    }

    @Override
    public int getLegNum() {


        return 4;
    }

    @Override
    public String getName() {
        return super.getName();
    }

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

    public void setLegNum(int legNum) throws Exception {
        if (legNum == 4) {
            this.getLegNum();
        }else {
            throw new Exception("猫的腿只能是4条");
        }
    }
}

Dolphin.java

package com.cx.Animal;

public class Dolphin extends Animal{


    public Dolphin(String name) {
        super("海豚奇奇",0);
        this.getName();
    }

    @Override
    public int getLegNum() {
        return super.getLegNum();
    }

    @Override
    public String getName() {
        return super.getName();
    }

    @Override
    public void shout() {
        System.out.println("海豚音...");
    }
}

Duck.java

package com.cx.Animal;

public class Duck extends Animal implements Terrestrial {


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

    @Override
    public String getName() {
        return super.getName();
    }



    public Duck(String name, int legNum) {
        super("唐老鸭",2);
        this.getName();
        this.getLegNum();
    }

    @Override
    public int getLegNum() {


        return 2;

    }


    @Override
    public void shout() {

        System.out.println("嘎嘎嘎...");
    }
}

test类

package com.cx.Animal;

import java.util.Scanner;

public class SpeakTest {
    Animal cat = new Cat("加菲猫", 4);
    Animal duck = new Duck("唐小鸭", 2);
    Animal dolphin = new Dolphin("海豚奇奇");

    public void modify() throws Exception {
        Scanner input = new Scanner(System.in);

        System.out.println("请选择修改(猫、鸭或者海豚)的数据(1,2,3)");
//
        switch (input.nextInt()) {
            case 1:


                System.out.println("猫的名称:");
                String name=(input.next());
                System.out.println("腿的条数");
                cat.setLegNum(input.nextInt());
                if (cat instanceof Cat) {
                    if (cat.getLegNum() != 4) {
                        throw new Exception("猫的腿只能是4条");
                    }else {
                        cat.setName(name);
                    }
                }
                break;


            case 2:
                System.out.println("鸭的名称:");
                name=input.next();
                System.out.println("腿的条数");
                duck.setLegNum(input.nextInt());
                if (duck instanceof Duck) {
                    if (duck.getLegNum() != 2) {
                        throw new Exception("鸭的腿只能是2条");
                    }
                    else {
                        duck.setName(name);
                    }
                }

                break;
            case 3:
                System.out.println("海豚的名称:");
                dolphin.setName(input.next());
                break;
            default:
                System.out.println("请输入1,2,3");

        }

    }

    public void load() {
        System.out.println("动物名称  " + "腿的条数  " + "动物叫");
        System.out.print(cat.getName() + "t" + cat.getLegNum() + "t" + "t");
        cat.shout();
        System.out.print(duck.getName() + "t" + duck.getLegNum() + "t" + "t");
        duck.shout();
        System.out.print(dolphin.getName() + "t" + 0 + "t" + "t");
        dolphin.shout();


    }

    public static void main(String[] args)  {
        Scanner input = new Scanner(System.in);
        SpeakTest speak = new SpeakTest();

        while (true) {
            speak.load();
            System.out.println("是否要继续修改数据;按0进行修改操作,其他任意数字键退出");
            int i = input.nextInt();
            if (i == 0) {

                try {
                    speak.modify();
                } catch (Exception exception) {
                    exception.printStackTrace();
                }

            }else {
                break;
            }
        }
    }
}

接口

package com.cx.Animal;

public interface Terrestrial {
    int getLegNum();
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1014465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号