創建包名:com.cricus.animal
包含以下類Animal、Bear、Clown、IAct、Lion、Monkey、Parrot*
創建抽象類Animal
public abstract class Animal {
private String name;
private int age;
//獲取名字
public String getName() {
return name;
}
//設定名字
public void setName(String name) {
this.name = name;
}
//獲取年齡
public int getAge() {
return age;
}
//設定年齡
public void setAge(int age) {
this.age = age;
}
//抽象方法:描述愛好
public abstract void love();
}
創建接口IAct類
//抽象方法:表演和技能
public abstract void act();
public abstract void skill();
創建Bear類
public class Bear extends Animal implements IAct {
//通過構造函數設定名字和年齡
public Bear() {
// TODO 自動生成的構造函數存根
setName("Bill");
setAge(1);
}
@Override
//愛好
public void love() {
// TODO 自動生成的方法存根
System.out.println("愛好:喜歡賣萌");
}
@Override
//輸出表演信息
public void act() {
// TODO 自動生成的方法存根
System.out.println("表演者:"+getName());
System.out.println("年齡:"+getAge()+"歲");
this.skill();
this.love();
this.act();
}
@Override
//技能
public void skill() {
// TODO 自動生成的方法存根
System.out.println("技能:挽着花籃,打着雨傘,自立走秀");
}
}
創建Lion類
public class Lion extends Animal implements IAct{
private String Color;//毛色
private String Sex;//性別
//獲取毛色
public String getColor() {
return Color;
}
//設定毛色
public void setColor(String color) {
Color = color;
}
//獲取性別
public String getSex() {
return Sex;
}
//設定性別
public void setSex(String sex) {
Sex = sex;
}
//構造函數設定信息
public Lion() {
// TODO 自動生成的構造函數存根
setName("Laion");
setAge(2);
setColor("灰色");
setSex("公獅");
this.act();
}
//愛好
@Override
public void love() {
// TODO 自動生成的方法存根
System.out.println("愛好:喜歡喫各種肉類");
}
//輸出表演信息
@Override
public void act() {
// TODO 自動生成的方法存根
System.out.println("表演者:"+getName());
System.out.println("年齡:"+getAge()+"歲");
System.out.println("毛色:"+getColor());
System.out.println("性別:"+getSex());
this.skill();
this.love();
}
//技能
@Override
public void skill() {
// TODO 自動生成的方法存根
System.out.println("技能:擅長鑽火圈");
}
}
創建Monkey
public class Monkey extends Animal implements IAct{
private String Type;//品種
//構造函數設定信息
public Monkey() {
// TODO 自動生成的構造函數存根
setName("Tom");
setAge(1);
setType("金絲猴");
this.act();
}
//獲取品種
public String getType() {
return Type;
}
//設定品種
public void setType(String Type) {
this.Type = Type;
}
//愛好
@Override
public void love() {
// TODO 自動生成的方法存根
System.out.println("愛好:喜歡模仿人的動作表情");
}
//輸出表演信息
@Override
public void act() {
// TODO 自動生成的方法存根
System.out.println("表演者:"+getName());
System.out.println("年齡:"+getAge()+"歲");
System.out.println("品種:"+getType());
this.skill();
this.love();
}
//技能
@Override
public void skill() {
// TODO 自動生成的方法存根
System.out.println("技能:騎獨輪車過獨木橋");
}
}
創建Parrot類
public class Parrot extends Animal implements IAct {
private String type;//設定品種
//獲取品種
public String getType() {
return type;
}
//設定品種
public void setType(String type) {
this.type = type;
}
//構造函數設定信息
public Parrot() {
// TODO 自動生成的構造函數存根
setName("Rose");
setAge(1);
setType("牡丹鸚鵡");
this.act();
}
//愛好
@Override
public void love() {
// TODO 自動生成的方法存根
System.out.println("愛好:喜歡喫堅果和松子");
}
//演員
@Override
public void act() {
// TODO 自動生成的方法存根
System.out.println("表演者:"+getName());
System.out.println("年齡:"+getAge()+"歲");
System.out.println("品種:"+getType());
this.skill();
this.love();
}
//技能
@Override
public void skill() {
// TODO 自動生成的方法存根
System.out.println("技能:擅長模仿");
}
}
創建Clown類
public class Clown implements IAct {
private String Name;
private int years;
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int getYears() {
return years;
}
public void setYears(int years) {
this.years = years;
}
public Clown() {
// TODO 自動生成的構造函數存根
setName("Kahle");
setYears(5);;
this.act();
}
@Override
public void act() {
// TODO 自動生成的方法存根
System.out.println("表演者:"+getName());
System.out.println("藝齡:"+getYears()+"年");
this.dress();
this.skill();
}
@Override
public void skill() {
// TODO 自動生成的方法存根
System.out.println("技能:腳踩高蹺,進行雜技魔術表演");
}
public void dress() {
System.out.println("着裝:身穿五彩服裝,頭上戴這彩色的帽子,臉上畫着誇張的彩狀");
}
}
創建測試包:com.cricus.test
創建測試類:Cricustest
Cricustest:
import java.util.Scanner;
import com.cricus.animal.Bear;
import com.cricus.animal.Clown;
import com.cricus.animal.Lion;
import com.cricus.animal.Monkey;
import com.cricus.animal.Parrot;
public class Cricustest {
public static void main(String[] args) {
/**
* 實例化CricusUi成員類,運行動物園菜單
*/
Cricustest.CricusUi cricusUi= new Cricustest().new CricusUi();
}
public class CricusUi {
public CricusUi() {
// TODO 自動生成的構造函數存根
Boolean flag=true;
while(flag) {
System.out.println("*************歡迎來到太陽馬戲團************");
System.out.println("************* 1、棕熊 ************");
System.out.println("************* 2、獅子 ************");
System.out.println("************* 3、猴子 ************");
System.out.println("************* 4、鸚鵡 ************");
System.out.println("************* 5、小丑 ************");
Scanner sc = new Scanner(System.in); //聲明輸入
System.out.print("請輸入數字選擇表演者:");
int temp=sc.nextInt();
switch(temp)
{
case 1: Bear bear = new Bear(); //棕熊
break;
case 2: Lion lion = new Lion(); //獅子
break;
case 3: Monkey monkey = new Monkey(); //猴子
break;
case 4: Parrot parrot = new Parrot(); //鸚鵡
break;
case 5: Clown clown = new Clown(); //小丑
break;
default:System.out.println("沒有該數字的表演者,請重新選擇!!!");
break;
}
/**
* 判斷是否繼續看,檢測非法輸入數據
*/
Boolean flag2 = true;
while(flag2) {
System.out.println("************* 是否繼續觀看(1/0) ************");
System.out.print("請輸入數字(1/0):");
temp=sc.nextInt();
if(temp==1)
{
flag =true;
break;
}
else if(temp==0)
{
flag =false;
System.out.println("************* 歡迎下次光臨 ************");
break;
}
else
{
System.out.println("************* 輸入信息不正確 ************");
}
}
}
}
}
}