运用Java基础语法、面向对象的知识,完成马戏团节目管理系统开发。
一、任务描述
一、语言和环境
- ·实现语言
- Java语言
- 环境要求及开发工具JDK、Eclipse
二、程序整体要求
- 划分功能模块,根据题目要求设置不同的类,在类中实现相应功能的管理。
- 类的标识要清楚易懂,代码结构要层次分明,代码编辑思路要清晰、整洁。
- 要求Java代码书写、命名符合规范,属性所属数据类型要准确合理,在代码中添加必要的注释
- 程序运行效果参考效果图要求,文字大小、颜色也不做统一要求
- 结合演示效果,完成需求分析中的所有内容
三、需求分析:
1.整个项目由三个环节组成:
- 表演菜单展示
- 选择表演者进行表演
- 选择是否继续观看表演
2.使用面向对象思想编程
- 对封装、继承和多态的使用
- 注意编码规范
- 注意循环的使用
四、详细设计:
1.抽象父类:
-动物(Animal)
- 属性:昵称(name) 、年龄(age)
- 抽象方法:描述喜好(love)
2接口
-表演(IAct)
- 抽象方法:描述技能(skill) 、描述表演(act)
- 说明:每个表演者的表演信息是通过调用act()方法输出的
3.实现类
-棕熊(Bear)
- 继承自Animal实现IAct
-狮子(Lion)
- 继承自Animal实现IAct
- 新增属性:颜色(color) 、性别(sex)
-猴子(Monkey)
- 继承自Animal实现IAct
- 新增属性:品种(type)
-鹦鹉(Parrot)
- 继承自Animal实现IAct
- 新增属性:品种(type)
-小丑(Clown)
- 实现IAct
- 属性:名字(name) 、艺龄(years)
二、代码实现
IAct.java
public interface IAct {
// 抽象方法:描述技能、描述表演
public abstract void skill();
public abstract void act();
}
Bear.java
//继承来自Animal实现IAct
public class Bear extends Animal implements IAct {
@Override
public void skill() {
// TODO Auto-generated method stub
System.out.println("技能:挽着花篮,打着雨伞,自立走秀");
}
@Override
public void act() {
// TODO Auto-generated method stub
}
@Override
public void love() {
// TODO Auto-generated method stub
System.out.println("爱好:喜欢卖萌");
}
}
Lion.java
//继承来自Animal实现IAct
public class Bear extends Animal implements IAct {
@Override
public void skill() {
// TODO Auto-generated method stub
System.out.println("技能:挽着花篮,打着雨伞,自立走秀");
}
@Override
public void act() {
// TODO Auto-generated method stub
}
@Override
public void love() {
// TODO Auto-generated method stub
System.out.println("爱好:喜欢卖萌");
}
}
Monkey.java
public class Monkey extends Animal implements IAct {
// 新增属性:品种
private String type;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
@Override
public void skill() {
// TODO Auto-generated method stub
System.out.println("技能:骑独轮车过独木桥");
}
@Override
public void act() {
// TODO Auto-generated method stub
}
@Override
public void love() {
// TODO Auto-generated method stub
System.out.println("爱好:喜欢模仿人的动作表情");
}
}
Parrot.java
public class Parrot extends Animal implements IAct {
// 新增属性:品种
private String type;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
@Override
public void skill() {
// TODO Auto-generated method stub
}
@Override
public void act() {
// TODO Auto-generated method stub
}
@Override
public void love() {
// TODO Auto-generated method stub
}
}
Clown.java
public class Clown implements IAct {
// 属性:名字、艺龄
private String name;
private int years;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getYears() {
return years;
}
public void setYears(int years) {
this.years = years;
}
@Override
public void skill() {
// TODO Auto-generated method stub
System.out.println("技能:脚踩高跷,进行杂技魔术表演");
}
@Override
public void act() {
// TODO Auto-generated method stub
}
// 着装方法
public void dress() {
System.out.println("着装:身穿五彩服装,头上戴着彩色的帽子,脸上画着夸张的彩妆");
}
}
Test.java
import java.util.Scanner;
import pers.st.circusmanage.model.Bear;
import pers.st.circusmanage.model.Clown;
import pers.st.circusmanage.model.Lion;
import pers.st.circusmanage.model.Monkey;
import pers.st.circusmanage.model.Parrot;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int temp;
// 从键盘接收数据
Scanner sc = new Scanner(System.in);
do {
System.out.println("********欢迎来到太阳马戏团********");
System.out.println("******** 请选择表演者 ********");
System.out.println("******** 1、棕熊 ********");
System.out.println("******** 2、狮子 ********");
System.out.println("******** 3、猴子 ********");
System.out.println("******** 4、鹦鹉 ********");
System.out.println("******** 5、小丑 ********");
temp = sc.nextInt();
if (temp == 1) {
Bear bear = new Bear();
bear.setAge(1);
bear.setName("Bill");
System.out.println("表演者:" + bear.getName());
System.out.println("年龄:" + bear.getAge());
bear.skill();
bear.love();
System.out.println();
System.out.println("****是否继续观看(1/0)****");
while (true) {
temp = sc.nextInt();
if (temp == 0) {
System.out.println("**** 欢迎下次光临 ****");
break;// 跳出while(true)循环,temp=0跳出do=while循环
} else if (temp == 1) {
break;// 跳出 while(true)循环
} else if (temp != 0 && temp != 1) {
System.out.println("** 输出信息不正确,请重新输入 **");
System.out.println("****是否继续观看(1/0)****");
}
}
} else if (temp == 2) {
Lion lion = new Lion();
lion.setAge(2);
lion.setName("Lain");
lion.setColor("灰色");
lion.setSex("公狮");
System.out.println("表演者:" + lion.getName());
System.out.println("年龄:" + lion.getAge());
System.out.println("性别:" + lion.getSex());
System.out.println("毛色:" + lion.getColor());
lion.skill();
lion.love();
System.out.println();
System.out.println("****是否继续观看(1/0)****");
while (true) {
temp = sc.nextInt();
if (temp == 0) {
System.out.println("**** 欢迎下次光临 ****");
break;// 跳出while(true)循环,temp=0跳出do=while循环
} else if (temp == 1) {
break;// 跳出 while(true)循环
} else if (temp != 0 && temp != 1) {
System.out.println("** 输出信息不正确,请重新输入 **");
System.out.println("****是否继续观看(1/0)****");
}
}
} else if (temp == 3) {
Monkey monkey = new Monkey();
monkey.setName("Tom");
monkey.setAge(1);
monkey.setType("金丝猴");
System.out.println("表演者" + monkey.getName());
System.out.println("年龄:" + monkey.getAge() + "岁");
System.out.println("品种:" + monkey.getType());
monkey.skill();
monkey.love();
System.out.println();
System.out.println("****是否继续观看(1/0)****");
while (true) {
temp = sc.nextInt();
if (temp == 0) {
System.out.println("**** 欢迎下次光临 ****");
break;// 跳出while(true)循环,temp=0跳出do=while循环
} else if (temp == 1) {
break;// 跳出 while(true)循环
} else if (temp != 0 && temp != 1) {
System.out.println("** 输出信息不正确,请重新输入 **");
System.out.println("****是否继续观看(1/0)****");
}
}
} else if (temp == 4) {
Parrot par = new Parrot();
par.setName("Rose");
par.setAge(1);
par.setType("鹦鹉");
System.out.println("表演者:" + par.getName());
System.out.println("年龄:" + par.getAge() + "岁");
System.out.println("品种:" + par.getType());
par.skill();
par.love();
System.out.println();
System.out.println("****是否继续观看(1/0)****");
while (true) {
temp = sc.nextInt();
if (temp == 0) {
System.out.println("**** 欢迎下次光临 ****");
break;// 跳出while(true)循环,temp=0跳出do=while循环
} else if (temp == 1) {
break;// 跳出 while(true)循环
} else if (temp != 0 && temp != 1) {
System.out.println("** 输出信息不正确,请重新输入 **");
System.out.println("****是否继续观看(1/0)****");
}
}
} else if (temp == 5) {
Clown clo = new Clown();
clo.setName("Kahle");
clo.setYears(5);
System.out.println("表演者:" + clo.getName());
System.out.println("艺龄:" + clo.getYears() + "年");
clo.dress();
clo.skill();
System.out.println();
System.out.println("****是否继续观看(1/0)****");
while (true) {
temp = sc.nextInt();
if (temp == 0) {
System.out.println("**** 欢迎下次光临 ****");
break;// 跳出while(true)循环,temp=0跳出do=while循环
} else if (temp == 1) {
break;// 跳出 while(true)循环
} else if (temp != 0 && temp != 1) {
System.out.println("** 输出信息不正确,请重新输入 **");
System.out.println("**** 是否继续观看(1/0)****");
}
}
}else if(temp>5) {
System.out.println("** 输出信息不正确,请重新输入 **");
}
} while (temp != 0);
}
}