6-1 动物体系 (20分)
java旧题复习
6-1 动物体系 (20分)
基于继承关系编写一个动物体系,具体的动物包含小狗和小猫。每只动物都有名字和颜色,都能够做自我介绍(introduce)。此外,小狗有智商属性(整数),能接飞盘(catchFrisbee(),方法体内输出一行“catch frisbee”即可),小猫有眼睛颜色属性,能抓老鼠(catchMouse(),方法体内输出一行“catch mouse”即可)。各种小动物自我介绍时均介绍自己的姓名和颜色,此外,小狗应介绍自己的智商,小猫应介绍自己的眼睛颜色。小狗介绍时输出”My name is xxx, my color is xxx, my IQ is xxx”, 小猫介绍时输出“My name is xxx, my color is xxx, my eyecolor is xxx” 构造类TestAnimal,提供静态函数introduce(Animal),对参数动物自我介绍。提供静态函数action(Animal),根据参数对象的实际类型进行活动,如果是小狗,则让其接飞盘,如果是小猫,则让其抓老鼠。 Main函数中,根据动物类型构造动物,并调用TestAnimal中的方法进行自我介绍(introduce)和活动(action)
输入描述:
动物类型 动物名称 动物颜色 动物其他属性 如 1 猫名称 猫颜色 猫眼睛颜色 2 狗名称 狗颜色 狗的智商
输出描述:
自我介绍 活动
裁判测试程序样例:
import java.util.Scanner;/*你的代码被嵌在这里 */public class Main{public static void main(String args[]) {Scanner s = new Scanner (System.in);int i = s.nextInt();Animal a = null;if (i==1) {a = new Cat(s.next(), s.next(), s.next());} else if (i==2) {a = new Dog(s.next(), s.next(), s.nextInt());}TestAnimal.introduce(a);TestAnimal.action(a);}
}
输入样例:
在这里给出一组输入。例如:
1 Mikey white blue
输出样例:
在这里给出相应的输出。例如:
My name is Mikey, my color is white, my eyecolor is blue
catch mouse
答案:
import java.util.*;
public class Main {public static void main(String args[]) {Scanner s = new Scanner (System.in);int i = s.nextInt();Animal a = null;if (i==1) {a = new Cat(s.next(), s.next(), s.next());} else if (i==2) {a = new Dog(s.next(), s.next(), s.nextInt());}TestAnimal.introduce(a);TestAnimal.action(a);}
}abstract class Animal{//Animal写成抽象类String name;String color;public Animal(String s1,String s2) {this.name=s1;this.color=s2;}public abstract void introduce();
}class Dog extends Animal{//Dog继承Animalint iq;public Dog(String s,String s2,int iq) {super(s,s2);this.iq=iq;}@Overridepublic void introduce() {//需要实现introduceSystem.out.printf("My name is %s, my color is %s, my IQ is %d\n",this.name,this.color,this.iq);}public void catchFrisbee() {System.out.println("catch frisbee");}
}class Cat extends Animal{//Cat继承AnimalString eyecolor;public Cat(String s1,String s2,String s3) {super(s1,s2);this.eyecolor=s3;}@Overridepublic void introduce() {//实现introduceSystem.out.printf("My name is %s, my color is %s, my eyecolor is %s\n",this.name,this.color,this.eyecolor);}public void catchMouse() {System.out.println("catch mouse");}
}class TestAnimal{public static void action(Animal a) {if(a instanceof Dog) {//注意instanceof的用法Dog d=(Dog)a;d.catchFrisbee();}else if(a instanceof Cat) {Cat c=(Cat)a;c.catchMouse();}}public static void introduce(Animal a) {if(a instanceof Dog) {Dog d=(Dog)a;d.introduce();}else if(a instanceof Cat) {Cat c=(Cat)a;c.introduce();}}
}
6-1 动物体系 (20分)相关推荐
- 【2019全国职业技能大赛大数据技术】任务四:14-数据可视化(20分_题目+答案<图片+分值>)
[任务说明] 任务四 : 数据可视化 (20 分 ) 本任务中 所需要 的原始数据四 存放于任务四 MySQL 的 的 project_hotels 数据库 和 计算机 桌面/H3CU_hotel/d ...
- 7-2 旅游规划 (20 分)c语言,浙江省2008年7月高等教育自学考试旅游资源规划与开发A卷2...
二.双项选择题(本大题共7小题,每小题2分,共14分) 在每小题列出的五个备选项中有两个是符合题目要求的,请将其代码填写在题后的括号内.错选.多选.少选或未选均无分. 1.属于旅游资源的经济特征表现的 ...
- 7-1 查找书籍(20 分)(程序设计天梯赛模拟练习题)
7-1 查找书籍(20 分) 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价. 输入格式: 输入第一行给出正整数n(<10),随后给出n本书的信息.每本书 ...
- PTA—输出全排列 (20分) 递归回溯思想
PTA-输出全排列 (20分) 递归回溯思想 题目要求: 请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间. 输入格式: 输入给出 ...
- 2、求100以内的素数之和。(20分)
题目: /* 2.求100以内的素数之和.(20分) */ 代码: public class Two207 {public static void main(String[] args) {int s ...
- 1、输入四个整数,按照从小到大顺序输出。(20分)
题目: /* 1.输入四个整数,按照从小到大顺序输出.(20分) */ 代码: 注:题目说的是四个数的排序,我就直接写了个冒泡排序 public class One207 {public static ...
- /* * 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“
题目: 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***************** 所谓" ...
- /* * 编程题第四题(20分): 用1元5角钱人名币兑换5分、2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案。 */
题目: /* 编程题第四题(20分): 用1元5角钱人名币兑换5分.2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案. */ 我使用java做的 public class ...
- /* * 编程第三题(20分) 打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。(例153=1*1*1+3*3*3+5*5*5) */
题目: /* 编程第三题(20分) 打印所有的水仙花数.所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身.(例153=111+333+555) */ 我是用java做的 public cla ...
最新文章
- 如何修改datagrid行的高度_如何开出一份完美的信用证?
- 有用的SAP System Administration T-CODE
- java 任意数平均值_【编程题】通过键盘输入三个任意的数字,计算三个值的平均值,并输出结果。...
- nltk安装punkt等语料库时报SSL错误完美解决方案及离线安装方法
- LeetCode 702. 搜索长度未知的有序数组(二分查找)
- 学习路上遇到的Error2
- Tarjan点的双联通(寻找割点)
- svn图文教程-宋正河整理
- 洛谷 P1032 字串变换
- CC2530射频通信
- 【转载】应聘总经理的答卷,供大家打分
- 2D降噪3D降噪(NR:Noise Reduce)
- 【OneDrive篇】OneDrive禁用个人保管库(网页端)
- 量化择时之移动平均线初探
- 日志分析---携来百侣曾游,忆往昔峥嵘岁月稠
- 机器学习 K近邻之KD树 搜索KD树
- 【数据库专题】“第一幕”——《狗叫江湖》之数据库系统概论(续集)【蒸滴很c】
- vb与oracle数据库连接,vb.net 如何与oracle数据库连接
- 洛谷P1035题解 [NOIP2002 普及组] 级数求和
- 拿到外企offer了!