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 );