Java 微世界大战
2021/11/25 1:10:36
本文主要是介绍Java 微世界大战,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package Fight; public class Test { public static void main(String[] args) {//main方法不要忘记写 Army army = new Army(4); Tank tank= new Tank(); WuZhiJi wuZhiJi = new WuZhiJi(); GaoShePao gaoShePao =new GaoShePao(); ZhanDouJi zhanDouJi = new ZhanDouJi(); ZhanDouJi zhanDouJi1 = new ZhanDouJi(); ZhanDouJi zhanDouJi2 = new ZhanDouJi(); try { army.AddWuQi(tank); army.AddWuQi(wuZhiJi); army.AddWuQi(gaoShePao); army.AddWuQi(zhanDouJi); army.AddWuQi(zhanDouJi1); army.AddWuQi(zhanDouJi2); } catch (AddWuQiException e) { System.out.println(e.getMessage()); } army.move(); army.attack(); } }
package Fight; public class Wuqi { }
package Fight; public interface Move { void move(); }
package Fight; public interface Attack { void attack(); }
package Fight; public class Tank extends Wuqi implements Move,Attack { @Override public void attack() { System.out.println("Tank就位,等待命令开炮"); } @Override public void move() { System.out.println("Tank就位,准备向目的地出发"); } @Override public String toString() { return "Tank"; } }
package Fight; public class GaoShePao extends Wuqi implements Attack{ @Override public void attack() { System.out.println("高射炮就位,等待命令准备开炮"); } @Override public String toString() { return "GaoShePao"; } }
package Fight; public class ZhanDouJi extends Wuqi implements Attack,Move{ @Override public void attack() { System.out.println("战斗机就位,等待命令准备开炮"); } @Override public void move() { System.out.println("战斗机就位,正在向目的地进军"); } @Override public String toString() { return "ZhanDouJi"; } }
package Fight; public class WuZhiJi extends Wuqi implements Move { @Override public void move() { System.out.println("物资机就位,正在向目的地出发"); } @Override public String toString() { return "WuZhiJi"; } }
package Fight; public class Army { Wuqi[] wuqis; public Army(int a) { wuqis=new Wuqi[a]; } public void AddWuQi(Wuqi wuqi) throws AddWuQiException { for(int j=0;j< wuqis.length;j++){ if(null==wuqis[j]){ wuqis[j]=wuqi; System.out.println(wuqi+"添加成功"); break; } if(j== wuqis.length-1){ throw new AddWuQiException("武器已达到上限,无法添加更多的武器"); } } } public void move(){ for(int i=0;i<wuqis.length;i++){ if(wuqis[i] instanceof Move){ Move move =(Move) wuqis[i]; move.move(); } } } public void attack(){ for(int i=0;i<wuqis.length;i++){ if(wuqis[i] instanceof Attack){ Attack attack = (Attack) wuqis[i]; attack.attack(); } } } }
package Fight; public class AddWuQiException extends Exception { public AddWuQiException() { } public AddWuQiException(String message) { super(message); } }
这篇关于Java 微世界大战的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)