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分)相关推荐

  1. 【2019全国职业技能大赛大数据技术】任务四:14-数据可视化(20分_题目+答案<图片+分值>)

    [任务说明] 任务四 : 数据可视化 (20 分 ) 本任务中 所需要 的原始数据四 存放于任务四 MySQL 的 的 project_hotels 数据库 和 计算机 桌面/H3CU_hotel/d ...

  2. 7-2 旅游规划 (20 分)c语言,浙江省2008年7月高等教育自学考试旅游资源规划与开发A卷2...

    二.双项选择题(本大题共7小题,每小题2分,共14分) 在每小题列出的五个备选项中有两个是符合题目要求的,请将其代码填写在题后的括号内.错选.多选.少选或未选均无分. 1.属于旅游资源的经济特征表现的 ...

  3. 7-1 查找书籍(20 分)(程序设计天梯赛模拟练习题)

    7-1 查找书籍(20 分) 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价. 输入格式: 输入第一行给出正整数n(<10),随后给出n本书的信息.每本书 ...

  4. PTA—输出全排列 (20分) 递归回溯思想

    PTA-输出全排列 (20分) 递归回溯思想 题目要求: 请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间. 输入格式: 输入给出 ...

  5. 2、求100以内的素数之和。(20分)

    题目: /* 2.求100以内的素数之和.(20分) */ 代码: public class Two207 {public static void main(String[] args) {int s ...

  6. 1、输入四个整数,按照从小到大顺序输出。(20分)

    题目: /* 1.输入四个整数,按照从小到大顺序输出.(20分) */ 代码: 注:题目说的是四个数的排序,我就直接写了个冒泡排序 public class One207 {public static ...

  7. /* * 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“

    题目: 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 *****************    所谓" ...

  8. /* * 编程题第四题(20分): 用1元5角钱人名币兑换5分、2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案。 */

    题目: /* 编程题第四题(20分): 用1元5角钱人名币兑换5分.2分和1分的硬币(每一种都要有)共一百枚,问共有几种兑换方案?并输出每种方案. */ 我使用java做的 public class ...

  9. /* * 编程第三题(20分) 打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。(例153=1*1*1+3*3*3+5*5*5) */

    题目: /* 编程第三题(20分) 打印所有的水仙花数.所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身.(例153=111+333+555) */ 我是用java做的 public cla ...

最新文章

  1. 如何修改datagrid行的高度_如何开出一份完美的信用证?
  2. 有用的SAP System Administration T-CODE
  3. java 任意数平均值_【编程题】通过键盘输入三个任意的数字,计算三个值的平均值,并输出结果。...
  4. nltk安装punkt等语料库时报SSL错误完美解决方案及离线安装方法
  5. LeetCode 702. 搜索长度未知的有序数组(二分查找)
  6. 学习路上遇到的Error2
  7. Tarjan点的双联通(寻找割点)
  8. svn图文教程-宋正河整理
  9. 洛谷 P1032 字串变换
  10. CC2530射频通信
  11. 【转载】应聘总经理的答卷,供大家打分
  12. 2D降噪3D降噪(NR:Noise Reduce)
  13. 【OneDrive篇】OneDrive禁用个人保管库(网页端)
  14. 量化择时之移动平均线初探
  15. 日志分析---携来百侣曾游,忆往昔峥嵘岁月稠
  16. 机器学习 K近邻之KD树 搜索KD树
  17. 【数据库专题】“第一幕”——《狗叫江湖》之数据库系统概论(续集)【蒸滴很c】
  18. vb与oracle数据库连接,vb.net 如何与oracle数据库连接
  19. 洛谷P1035题解 [NOIP2002 普及组] 级数求和
  20. 拿到外企offer了!

热门文章

  1. 古法养生 2个简单动作可强肾
  2. 微信小程序二维码图片的宣传方法都有哪些
  3. 第一大题、分析(共14小题,满分100分)
  4. 稳健性检验的几种方法
  5. gpio引脚介绍 树莓派3b_树莓派3B+ GPIO 入门
  6. 02@Docker网络介绍及网络模式的使用
  7. Linux防火墙添加白名单
  8. 未来的数据是无价的,推荐十大数据挖掘工具
  9. Spring Zuul和Spring Security的整合
  10. C语言中的数字——水仙花数