动物声音模拟器
Description
?
設(shè)計(jì)一個(gè)動(dòng)物聲音模擬器模仿動(dòng)物的叫聲。類圖如下:
Animal類中的方法playSound模擬動(dòng)物的叫聲,但輸出時(shí)要求先給出名字。
程序中任何地方不允許用Dog或Cat的對(duì)象直接調(diào)用cry()方法或getAnimalName()方法。
Input
若干組數(shù)據(jù),每組數(shù)據(jù)由1個(gè)整型數(shù)和1個(gè)字符串組成。整型數(shù)表示動(dòng)物類型:0——貓、1——狗;字符串表示動(dòng)物的名字。
Sample Input
1 Eunice
0 Elma
import java.util.Scanner; public class Main {public static void main(String [] args){Scanner reader=new Scanner(System.in);while(reader.hasNext()){int n=reader.nextInt();String name=reader.next();Simulator s=new Simulator(name);if(n==1){s.playsound(new Dog());}else if(n==0){s.playsound(new Cat());} }} }abstract class Animal {abstract void Cry();abstract String getAnimalName(String name); }class Simulator {Animal A;String name;Simulator(String name){this.name=name;}void playsound(Animal A){this.A=A;System.out.print(this.A.getAnimalName(name)+":");A.Cry();}}class Dog extends Animal {void Cry(){System.out.println("Wang,Wang...");}String getAnimalName(String name){return name;}}class Cat extends Animal{void Cry(){System.out.println("Miao,Miao...");}String getAnimalName(String name){return name;}}總結(jié)
- 上一篇: GIS的polygon和multipol
- 下一篇: 2d游戏循环滚动地图中的拼接缝隙问题