Judge 4-5
NCNU Programming 1042 Judge 4-5
百獸戰隊是由一群動物機器人所組合而成的,其中有五個動物機器人,獅子(Lion)、老鷹(Eagle)、鯊魚、白虎、黑牛。
其中取獅子及老鷹為例子(其他動物本題不會用到),獅子具有衝撞(Collide)及撕咬(Bite)的功能,老鷹有飛行(Fly)及撕咬(Bite)的功能,假設大機器人只要有老鷹及獅子的存在,就能夠進行合體了,合體後的大機器人具有飛行(Fly)、撕咬(Bite)、衝撞(Collide)的功能。
百獸戰隊:https://www.youtube.com/watch?v=FG8uFCXdKHg
功能說明
- 衝撞(Collide),印出
我會衝撞 - 撕咬(Bite),印出
我會咬你 - 飛行(Fly),印出
我會飛行
必達題目要求
- 名稱需宣告為
private 獅子(Lion)、老鷹(Eagle)、大機器人(BigRobot)、繼承自機器人(Robot)- 功能需使用
interface實作 - 獅子及老鷹的名字能被使用者輸入
- 合體後的大機器人名字=獅子名字+老鷹名字
ex. 獅子名字:
大獅兄, 老鷹名字:狄鷹則合體後大機器人名字:大獅兄狄鷹 - 需要產生老鷹及獅子之後,輸入
merge才能合體,否則印出錯誤 - 本題只會產生一次老鷹及獅子,如果產生第二次的話則輸出
已出現過!
Robot.java範例code:
public class Robot implements Bite {
private String name; //名稱
public String getName() {
//傳回名稱
}
public void setName(String name) {
//設定名稱
}
}
提示
Interface 有三個:撕咬(Bite)、衝撞(Collide)、飛行(Fly)
Class 有五個:
主程式:Team、獅子:Lion、老鷹:Eagle、機器人:Robot、合體後大機器人:BigRobot
輸入、輸出說明
首先輸入 [動物機器人] [名稱],判斷是老鷹或是獅子,
如果是老鷹,印出老鷹名稱:[名稱] 功能:[撕咬] [飛行],
如果是獅子,印出獅子名稱:[名稱] 功能:[撕咬] [衝撞],
如果都不是,印出輸入錯誤!。
如果老鷹(or獅子)已產生一次,再產生老鷹(or獅子),則印出已出現過!
如果老鷹或獅子其中一方沒有產生,而輸入merge,印出 獅子或老鷹還沒產生,無法合體
如果老鷹及獅子都產生完了,輸入merge,印出合體機器人名稱:[獅子名稱+老鷹名稱] 功能:[撕咬] [衝撞] [飛行],程式結束。
輸入、輸出範例
首先輸入要產生老鷹(Eagle)或是獅子(Lion)

如果都不是則印出錯誤

如果老鷹(or獅子)已產生一次,再產生老鷹(or獅子),則印出已出現過!

如果老鷹或獅子其中一方沒有產生,而輸入merge,印出 獅子或老鷹還沒產生,無法合體

如果老鷹及獅子都產生完了,輸入merge,印出合體機器人名稱:[獅子名稱+老鷹名稱] 功能:[撕咬] [衝撞] [飛行],程式結束。

API Hint
Class Scanner from java.util.Scanner
public Scanner(InputStream source)Constructs a new Scanner that produces values scanned from the specified input stream. Bytes from the stream are converted into characters using the underlying platform's default charset.
ex.Scanner input = new Scanner( System.in );