面向對象程序設計JAVA,面向對象思想設計簡單動物樂園Java程序

 2023-11-30 阅读 28 评论 0

摘要:動物樂園包括的成員:貓、鴨子…… 面向對象程序設計JAVA,屬性:名稱、腿 ? ? ? ? ? ?方法:叫 面向對象基本思想。設計類圖 再加入一個海豚類: 需求說明: 1.?分別創建Cat、Duck、Dolphin對象并放到一個數組中,編寫方法對數組進行遍歷

動物樂園包括的成員:貓、鴨子……

面向對象程序設計JAVA,屬性:名稱、腿 ? ? ? ? ? ?方法:叫

面向對象基本思想。設計類圖

再加入一個海豚類:

需求說明:

1.?分別創建Cat、Duck、Dolphin對象并放到一個數組中,編寫方法對數組進行遍歷輸出各種動物如何叫

2.?對數組進行遍歷輸出各種動物腿的條數

3.?增加修改功能,使用戶可以修改三種動物的信息

4. 如果腿的條數不符合客觀條件則手動拋出異常,調用此方法時捕捉異常

編程實現:

1.?動物類

//動物類
public abstract class Animal {//定義名字和腿數類型private String name;private int legNum;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;}public Animal() {}public Animal(String name, int legNum) {this.name = name;this.legNum = legNum;}
//動物叫的抽象方法public abstract String shout();
}

2.?子類貓類

//子類貓類
public class Cat extends Animal {public Cat(){}public Cat(String name,int legNum){super(name,legNum);}public String shout() {return "喵喵喵...";}}

3.?子類鴨子類

//子類鴨子類
public class Duck extends Animal {public Duck(){}public Duck(String name,int legNum){super(name,legNum);}public String shout() {return "嘎嘎嘎...";}
}

4.?子類海豚類

//子類海豚類
public class Dolphin extends Animal {public Dolphin(){}public Dolphin(String name,int legNum){super(name,legNum);}public String shout() {return "海豚音...";}}

5.?用戶類:定義顯示、修改、判斷等方法

import java.util.Scanner;
//用戶類:定義顯示、修改、判斷等方法
public class Custom {Scanner input = new Scanner(System.in);int xiugai;//判斷是否修改String newName;//修改后的新名字Animal cat = new Cat();Animal duck = new Duck();Animal dolphin = new Dolphin();//定義Animal數組存進去各種動物信息Animal[] animal ={new Cat("加菲貓",4),new Duck("唐小鴨",2),new Dolphin("海豚奇奇",0)};//輸出所有動物信息public void xianshi(){System.out.println("動物名字\t腿的條數\t動物叫");for(int i=0;i<animal.length;i++){System.out.println(animal[i].getName()+"\t"+animal[i].getLegNum()+"\t"+animal[i].shout());}}//修改想要修改的動物信息public void xiugai(String oldName,String newName,int legNum) throws Exception{if(oldName.equals(animal[0].getName())){if(legNum==4){animal[0].setName(newName);}else{throw new Exception("貓有4條腿");}}else if(oldName.equals(animal[1].getName())){if(legNum==2){animal[1].setName(newName);	}else{throw new Exception("鴨有2條腿");}}else if(oldName.equals(animal[2].getName())){if(legNum==0){animal[2].setName(newName);}else{throw new Exception("海豚沒有腿");}}System.out.println("是否要繼續修改數據:按0進行修改,其他任意數字鍵退出");xiugai= input.nextInt();}//判斷想要填入的新的動物信息是否重復public void panduan(){boolean pan = false;String new1Name;do{System.out.println("請輸入修改后的動物名稱:");new1Name=input.next();for(int i = 0;i<animal.length;i++){if(animal[i].getName().equals(new1Name)){System.out.println("輸入錯誤請重新輸入");pan = true;}else{pan = false;}}}while(pan == true);newName = new1Name;}		
}

6.?測試類

import java.util.Scanner;
//測試類
public class Test {public static void main(String[] args) {Scanner input = new Scanner(System.in);Custom c = new Custom();do{c.xianshi();System.out.println("請輸入要修改的動物姓名:");String oldName=input.next();c.panduan();System.out.println("這個動物有幾條腿:");int legNum=input.nextInt();try {c.xiugai(oldName, c.newName, legNum);} catch (Exception e) {e.printStackTrace();}}while(c.xiugai==0);if(c.xiugai !=0 ){System.out.println("謝謝使用!");}}
}

?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/188180.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息