Java面向对象之——马戏团节目管理程序

Python的诞生 发明 Python 的动机 Guido 大学毕业后加入了 CWI ,CWI 是荷兰的一家研究中心,它由荷兰政府教育部和其他研究基金资助,对计算机科学和数学进行学术级的研究。在 CWI 中,Guido 参与了 Amoeba 项目。Amoeba 项目是由 Andrew Tanenbaum 负责,CWI 和 Vrije Universiteit Amsterdam 两所机构共同参与开发的基于微内核的分布式系统。 在 Amoeba 项目中,Guido 发现用 C 语言开发系统管理程序所花费的时间太长了,而且因为 阅读详情

成功在于点滴的积累,少年加油,今天的付出就是明天的收获!

多敲代码,多写小项目是巩固自己知识点最好的方式之一,同时也是大脑的思维能力得到提升的有效途径。

流程分析

整个项目由三个环节组成

  1. 表演菜单展示

  2. 选择表演者进行表演
    ——每个表演者的表演信息是通过调用act()方法输出的

  3. 选择是否继续观看表演

详细设计

抽象父类

/**
 * 抽象父类Animal
 */
public abstract class Animal {
	
	private String name;//昵称
	
	private int age;//年龄
	
	public abstract void love();//抽象方法——描述喜好
	//无参构造方法
	public Animal() {
		super();
	}
	//有参构造方法
	public Animal(String name, int age) {
		super();
		this.name = name;
		this.age = 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;
	}
}

接口

/**
 * 接口IAct
 */
public interface IAct {
	
	void skill();//抽象方法——描述技能
	
	void act();//抽象方式——描述表演
}

实现类

棕熊(Bear)

/**
 * 继承自Animal类的Bear类
 * 接口IAct
 */
public class Bear extends Animal implements IAct {

    //无参构造方法 
	public Bear() {
		super();
	}
	//有参构造
	public Bear(String name,int age){
		super(name,age);
	}
	@Override
	public void skill() {//重写技能方法
		System.out.println("技能:挽着花篮,打着雨伞,自立走秀");
	}
	@Override
	public void act() {//重写表演方法
		System.out.println("表演者:"+this.getName());
		System.out.println("年龄:"+this.getAge()+"岁");
		skill();
		love();
	}
	@Override
	public void love() {//重写喜好方法
		System.out.println("爱好:喜欢卖萌");
	}
}

狮子(Lion)

/**
 * 继承自Animal类的Lion类
 * 接口IAct
 */
public class Lion extends Animal implements IAct {
	
	private String color;//颜色
	
	private String sex;//性别
	
	//无参构造
	public Lion() {
		super();
	}
	//有参构造
	public Lion(String color, String sex) {
		super();
		this.color = color;
		this.sex = sex;
	}
	public Lion(String name,int age,String color, String sex){
		super(name,age);
		this.color = color;
		this.sex = sex;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	@Override
	public void skill() {//重写技能方法
		System.out.println("技能:擅长钻火圈");
	}
	@Override
	public void act() {//表演方法
		System.out.println("表演者:"+this.getName());
		System.out.println("年龄:"+this.getAge()+"岁");
		System.out.println("性别:"+this.getSex());
		System.out.println("颜色:"+this.getColor());
		skill();
		love();
	}
	@Override
	public void love() {//重写喜好方法
		System.out.println("爱好:喜欢吃各种肉类");
	}
}

猴子(Monkey)

/**
 * 继承自Animal类的Monkey类
 * 接口IAct
 */
public class Monkey extends Animal implements IAct {
	
	private String type;//品种
	
	//无参构造
	public Monkey() {
		super();
	}
	//有参构造
	public Monkey(String name,int age,String type) {
		super(name,age);
		this.type = type;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	@Override
	public void skill() {//重写技能方法
		System.out.println("技能:骑独轮车过独木桥");
	}
	@Override
	public void act() {//表演方法
		System.out.println("表演者:"+this.getName());
		System.out.println("年龄:"+this.getAge()+"岁");
		System.out.println("品种:"+this.getType());
		skill();
		love();
	}
	@Override
	public void love() {//重写喜好方法
		System.out.println("爱好:喜欢模仿人的动作表情");
	}
}

鹦鹉(Parrot)

/**
 * 继承自Animal类的Parrot类
 * 接口IAct
 */
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() {
		super();
	}
	//有参构造
	public Parrot(String name,int age,String type) {
		super(name,age);
		this.type = type;
	}

	@Override
	public void skill() {//重写技能方法
		System.out.println("技能:擅长模仿");
	}
	@Override
	public void act() {//重写表演方法
		System.out.println("表演者:"+this.getName());
		System.out.println("年龄:"+this.getAge()+"岁");
		System.out.println("品种:"+this.getType());
		skill();
		love();
	}
	@Override
	public void love() {//重写喜好方法
		System.out.println("爱好:喜欢吃坚果和松子");
	}
}

小丑(Clown)

/**
 * 实现类Clown
 * 接口IAct
 */
public class Clown implements IAct {
	private String name;//名字
	private int years;//艺龄
	//无参构造
	public Clown() {
		super();
	}
    //有参构造
	public Clown(String name, int years) {
		super();
		this.name = name;
		this.years = 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() {//重写技能方法
		System.out.println("技能:脚踩高跷,进行杂技魔术表演");
	}
	@Override
	public void act() {//重写表演方法
		System.out.println("表演者:"+this.getName());
		System.out.println("年龄:"+this.getYears()+"年");
		skill();
		dress();
	}
	public void dress(){//着装特点独有方法
		System.out.println("着装:身穿五彩服装,头上戴着彩色的帖子,脸上画着夸张的彩妆");
	}
}

测试(Test)

import java.util.Scanner;
/**
 * 测试类
 */
public class Test {
	/**
	 * 第一部分:表演菜单展示
	 * 第二部分:选择表演者进行表演
	 * 第三部分:选择是否继续观看表演
	 *提示信息 
	 */
	//第一部分:表演菜单展示
	public void notice(){
		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、小丑        *********");
		System.out.println("*********      0——退出        *********");
		System.out.println("***********************************");
	}

	public static void main(String[] args) {
		Test test =new Test();
		Scanner sc=new Scanner(System.in);
		int input=0;//用于接收选择表演者
		int input1;//用于接收是否继续观看
		IAct actor=null;//接口引用指向实现类实例
		while(true){
			test.notice();//调用第一部分
			System.out.println("请输入对应的数字观看表演:");
			try{
				input = sc.nextInt();	
				}catch(Exception e){
					System.out.println("输入有误,请按照提示的整数输入");
					sc.next();
					continue;
				}
			if(input==0){
				System.out.println("退出程序!");
				break;
			}
			switch(input){//第二部分根据选择表演者,实现表演者的节目展示
			case 1:
				actor=new Bear("Bill",1);//接口引用指向实现类实例--多态
				actor.act();//调用表演方法
				break;
			case 2:
				actor=new Lion("Lian",2,"公狮","灰色");
				actor.act();
				break;
			case 3:
				actor=new Monkey("Tom",1,"金丝猴");
				actor.act();
				break;
			case 4:
				actor=new Parrot("Rose",1,"牡丹鹦鹉");
				actor.act();
				break;
			case 5:
				actor=new Clown("Kahle",5);
				actor.act();
				break;
			default:
			    System.out.println("输入有误,请重新输入");
			      continue;	
			}
			//第三部分:选择是否继续观看
			Boolean b=true;
			while(b) {
				System.out.println("******" + "是否继续观看(1/0)" + "******");
				try {
					input1 = sc.nextInt();
				} catch (Exception e) {
					System.out.println("输入有误,请按照提示的整数输入");
					sc.next();
					continue;
				}
				switch (input1) {
				case 1:
					b = false;
					break;
				case 0:
					System.out.println("*********" + "欢迎下次光临" + "*********");
					System.exit(0);
					break;
				default:
					System.out.println("输入信息不正确,请重新输入");
					continue;
				}
			}
		}
	}
}
java实现简陋的马戏团表演(homework) 为了尽量可以把那个循环完全展示出来,我格式并不标准,不过大家可以选择souce->format 接下来是代码资源 package circus; import java.util.Scanner; public class Circus { //方法实现菜单的输出 public void menu() { System.out.println("*************************欢迎来到太阳马戏团******... 阅读详情

相关推荐

project-circus:脚本可进行项目马戏团,feitos em C#

马戏团脚本(Nomenãodefinido)

Java基础学习小项目——太阳马戏团(使用面向对象多态的特征实现)

Java基础马戏团小项目 1、使用多态的特征实现,用到现学的所有知识 效果 *********欢迎来到太阳马戏团********** ******** 请选择表演者 ******** ******** 1、棕熊 ******** ******** 2、狮子 ******** ******** 3、猴子 ******** ******** 4、鹦鹉...

WC名字好难取的博客 1773

java编程动物乐园

package dongwuleyuan; public class Cat extends Animal implements Terrestrial { private int legNum; Cat(String name,int legNum){ super(name); this.legNum=legNum; } public void shout(){ System.out.println("喵喵。。"); } public int getLegNum() { return this.legNum; } }

JAVA面向接口编程课堂练习(马戏团)

【代码】JAVA面向接口编程课堂练习(马戏团)

人工智能全栈工程师 | 智能算法研发与实战落地​专注于人工智能算法研究、代码实现与工程落地,提供从模型设计到部署应用的全流程解决方案。 580

动物园系统

修改动物名称、判断修改信息是否正确,不正确的话会进行提示

立创EDA开源项目:小北极冰冰杯(夏)——基于ESP32-C3的智能半导体制冷杯硬件设计与功能解析

本文详细解析了基于ESP32-C3的智能半导体制冷杯——小北极冰冰杯的硬件设计与核心功能。项目利用半导体制冷片实现快速降温,并集成了PWM智能调速散热、四路温度监控、杯具检测及PD/DC双电源输入等实用功能。文章深入剖析了其硬件架构、控制逻辑及实战注意事项,为嵌入式开发与智能硬件爱好者提供了宝贵的参考。

weixin_33245447的博客 271

【Java】简单的马戏团节目单项目

学习Java初期的一个练习项目,思路也算比较简单清晰 现在一看当初写代码的问题就是注释太少了 一定要多多的写注释,注释多一点总不是坏事 项目的列表 ...

奷姀的谜之练习 1019

【论文复现】HiDDeN:Hiding Data With Deep Networks

(标签)是 float 类型,但代码中传入的是 long 类型(整数标签)。函数参数解析方式变化,导致无法正确保存生成的图像结果。这是因为新版torchvision的。使用预训练模型进行隐写和提取测试。HiDDeN支持多种噪声层组合。打印变量的类型,分别是。

qq_69146676的博客 971

马戏团节目管理(慕课网Java练习)

马戏团节目管理Java实现合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 #nd + Y 加粗:Ctrl/Command + B...

weixin_44015135的博客 1061

车载以太网测试技术解析

在智能汽车与HiL测试领域,高效解析与模拟车载网络通信是开发验证的关键。ZD-Converter 2000以媒体/介质转换器、嗅探器、拦截器、仿真器四合一的颠覆性设计,成为工程师应对复杂车载以太网测试的瑞士军刀。它支持双路车载/标准以太网智能转换、实时通信嗅探、硬件级数据拦截及ECU通信模拟,更通过串口命令实现全参数远程配置,赋能自动化测试流程。本文将深度解析其核心功能与实战应用场景。

Triv2025的博客 1142

RT-Thread GD32F4xx HWTIMER驱动

GD32F4xx RT-Thread 硬件定时器驱动调试使用记录

madao1234的博客 1481

java面向对象--马戏团节目管理的程序

创建包名: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 ...

qq_27211655的博客 824

检索增强生成(RAG)、微调(Fine-tuning)与知识蒸馏(Knowledge Distillation):核心差异与技术选型指南

在自然语言处理(NLP)领域,大型预训练语言模型(如GPT、BERT系列)的崛起彻底改变了技术生态。面对实际业务场景中模型效果优化与资源效率平衡的永恒命题,开发者主要依赖三大技术路径:检索增强生成(Retrieval-Augmented Generation, RAG)、模型微调(Fine-tuning)和知识蒸馏(Knowledge Distillation)。本文将通过技术原理拆解、典型应用场景对比和实战选型策略三个维度,深入解析这三种技术的本质差异。

fudaihb的博客 1826

马戏团节目管理系统开发(java小作业)

任务描述 一、语言和环境 实现语言 java 环境要求及开发工具 JDK、Eclipse 二、程序整体要求 1.

幽香飞狐的博客 1187

1.4 点云数据获取方式——结构光相机

与此同时,利用相机从特定角度捕捉变形后的图案,基于三角测量原理,通过精确计算相机与投影仪之间的几何关系以及图案的变形程度,就能准确计算出物体表面各点的三维坐标,从而获取高精度的三维点云数据。在高端制造业中,对于微小零部件的尺寸测量和缺陷检测,结构光相机能够提供极其精确的数据,确保产品质量符合严格的标准。时序编码:这类相机通过序列投射多幅不同图案,如格雷码、相移条纹等,通过对这一系列图案的时间序列进行解码分析,就能够获取亚像素级精度的三维信息,其单点误差能够控制在≤0.1mm,展现出极高的测量精度。

qq625924821的博客 924

Python爬虫-爬取猫眼演出数据

本文是该专栏的第53篇,后面会持续分享python爬虫干货知识。猫眼平台除了有影院信息之外,它还涵盖了演出信息,比如说“演唱会,音乐节,话剧音乐剧,脱口秀,音乐会,戏曲艺术,相声”等等各种演出相关信息。而本文,笔者将以猫眼平台为例,基于Python爬虫实现获取各种演出信息的数据。废话不多说,具体细节部分以及详细思路逻辑,笔者将在正文结合完整代码进行详细说明。(附带完整代码)

Python进阶专栏《爬虫实战进阶》,《Pyppeteer从入门到精通》原创作者 568

C++虚函数与多态:从动物表演案例理解面向对象设计核心

在面向对象编程中,继承与多态是构建灵活、可扩展软件系统的核心机制。继承实现了代码复用和层次化建模,而多态则允许同一接口在不同对象上表现出不同行为,这是通过虚函数机制实现的。虚函数表(vtable)作为底层支持,使得运行时动态绑定成为可能,极大地提升了代码的可维护性和扩展性。这一技术价值在于能够减少条件判断语句,实现开闭原则,让新增功能时无需修改现有代码。在应用场景上,从GUI事件处理、插件架构到游戏开发中的实体行为管理,多态都发挥着关键作用。本文以动物表演程序为例,通过Animal基类与perform()虚

weixin_34342207的博客 373

58.Sobel边缘检测算子

注:在梯度运算中,很可能会出现负的灰度值,我们不能再采用uint8类型作为像素的数据类型,而是采用了CV_16S或者CV_32F这种有负数范围的类型,运算结果里的负数也不能不处理,否则在显示的时候就会被截断为0,这样就会丢失边界信息。如下图所示,对中心像素Z5求取多个方向的灰度差分,对于Z5的8邻域,分为4个方向,即对角线和水平垂直4个方向对:(z1, z9) ,(z2, z8), (z3, z7), (z6, z4) 给定邻域方向梯度矢量g的幅度为:|g| = <像素灰度差分>/<相邻像素的距离>。

twnkie的博客 4884

pythonppt_Python简介ppt

PPT内容这是Python简介ppt,包括了Python 的介绍,Python 基础使用,Python 实例,参考资料等内容,欢迎点击下载。Python 简介Python 的介绍Python 基础使用Python 实例参考资料Python是自由软件的丰硕成果之一创始人 Guido van Rossum时间地点 1989年圣诞节期间在阿姆斯特丹创造名字来源 大蟒蛇飞行马戏团的爱好者渊源 从A...

weixin_39864489的博客 638

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

python语言之父-Python 之父说 Python 历史

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者:鸿影洲冷这篇文章主要内容来源于 Python 编程语言的最初设计者及主要架构师 Guido van Rossum 的博客 The History of Python(http://python-history.blogspot.com/)。博客文章不多,只有32篇而已,但...

weixin_39978282的博客 201

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

人生苦短,快学python

最近这些年,要论成长最快的语言,自然当属Python语言。 人生苦短,我学 Python! 毫无疑问,Python就是现在最热门的语言。 从2012年到2018年,Python几乎是火箭式的成长! 让我们来看看 python 的前世今生。 1. python诞生 创始人:荷兰 Guido van Rossum。 主要成就:发明 Python 语言。 发明日期:1989年底,第一个公开发...

奋斗的蜗牛 889

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Python 之父说 Python 历史

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:鸿影洲冷 这篇文章主要内容来源于 Python 编程语言的最初设计者及主要架构师 Guido van Rossum 的博客 The History of Python(http://python-history.blogspot.com/)。博客文章不多,只有32篇而已,但是 Guido van Rossum 在这个博客里叙述和解释了 Python 一些重要特性的发明历史

Python案例分享,B站视频教程:https://space.bilibili.com/523606542 530

Java方法小练习

最近写的Java方法小练习 代码量不是太多 但是模拟分页和排序方法记得还不是太牢固 import java.util.Random; import java.util.Scanner; /** * @version 1.0 * @desc 动物园管理系统 * 动物园里有狮子、老虎、猴子、大象和熊猫 * 要求: * 使用方法实现增删改查、排序和分页功能 * 动物增加最多不超过1...

Cool_Q的博客 559

Java语言项目作业:马戏团节目管理系统开发

请大家根据项目需求,运用Java基础语法、面向对象的知识,完成马戏团节目管理系统开发。

m0_58476154的博客 484

Java小练习--马戏团节目管理系统开发

运用Java基础语法、面向对象的知识,完成马戏团节目管理系统开发。 一、任务描述 一、语言和环境 ·实现语言 Java语言 环境要求及开发工具JDK、Eclipse 二、程序整体要求 划分功能模块,根据题目要求设置不同的类,在类中实现相应功能的管理。 类的标识要清楚易懂,代码结构要层次分明,代码编辑思路要清晰、整洁。 要求Java代码书写、命名符合规范,属性所属数据类型要准确合理,在代码中添加必要的注释 程序运行效果参考效果图要求,文字大小、颜色也不做统一要求 结合演示效果,完成需求

qq_38473254的博客 502

面向对象项目之动物园马戏团

题目:【唐城马戏团】 一.语言和环境 A. Java B. 环境要求 二.功能要求 完成“唐城马戏团项目”。 【必做】功能包括: 1 显示所有动物演员 2 根据年龄从小到大查看动物演员 3 随机观看表演 【选做】以下功能选做: 4 根据品种查找演员 5 删除演员 三.数据库设计 无。 四.具体要求及推荐实现步骤 1、【5分】创建java项目,创建包及表演接口Actable,内有一个方法: // 表...

Biubiubiu! 1215
上一篇: Java常用工具类—包装类
下一篇: Java常用类工具-集合
Mysterious God WL
博客等级 码龄6年 10粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值