java

小奶狗✨ 2019-04-15 10:57:36
急急急!!
...全文
177 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Unicode Escapes 2019-04-16
  • 打赏
  • 举报
回复
楼上大哥为什么不用观察者模式 差评
「已注销」 2019-04-16
  • 打赏
  • 举报
回复
引用 2 楼 greadworld 的回复:
import java.util.ArrayList;
import java.util.List;

public class Test {
public static class Soldier {
public void attack() {
System.out.println("攻击");
}
}

public static class Infantry extends Soldier {
@Override
public void attack() {
System.out.println("我是步兵,我用手枪攻击啦");
}
}

public static class Artillery extends Soldier {
@Override
public void attack() {
System.out.println("我是炮兵,我用火炮攻击啦");
}
}


public static class Tank extends Soldier {
@Override
public void attack() {
System.out.println("我是坦克,我用机枪攻击啦");
}
}

public static class Officer extends Soldier {

private List<Soldier> soldiers;

public List<Soldier> getSoldiers() {
return soldiers;
}

public void setSoldiers(List<Soldier> soldiers) {
this.soldiers = soldiers;
}

public void order() {
for (Soldier s : soldiers) {
s.attack();
}
}

@Override
public void attack() {
System.out.println("我是军官,我用军刀攻击啦");
}
}


public static void main(String[] args) {
List<Soldier> soldiers = new ArrayList<>();
int infantryNum = 0;
int artlleryNum = 0;
int tankNum = 0;

for (int i = 0; infantryNum <= 10 || artlleryNum <= 10 || tankNum <= 10; i++) {
double randomNo = Math.random();
if (randomNo < 0.3) {
soldiers.add(new Infantry());
infantryNum++;
} else if (randomNo < 0.6) {
soldiers.add(new Artillery());
artlleryNum++;
} else {
soldiers.add(new Tank());
tankNum++;
}
}

Officer officer = new Officer();
officer.setSoldiers(soldiers);
officer.attack();
officer.order();
}
}

这位大哥代码是真滴强
 方雄 2019-04-16
  • 打赏
  • 举报
回复
引用 2 楼 greadworld的回复:
import java.util.ArrayList; import java.util.List; public class Test { public static class Soldier { public void attack() { System.out.println("攻击"); } } public static class Infantry extends Soldier { @Override public void attack() { System.out.println("我是步兵,我用手枪攻击啦"); } } public static class Artillery extends Soldier { @Override public void attack() { System.out.println("我是炮兵,我用火炮攻击啦"); } } public static class Tank extends Soldier { @Override public void attack() { System.out.println("我是坦克,我用机枪攻击啦"); } } public static class Officer extends Soldier { private List<Soldier> soldiers; public List<Soldier> getSoldiers() { return soldiers; } public void setSoldiers(List<Soldier> soldiers) { this.soldiers = soldiers; } public void order() { for (Soldier s : soldiers) { s.attack(); } } @Override public void attack() { System.out.println("我是军官,我用军刀攻击啦"); } } public static void main(String[] args) { List<Soldier> soldiers = new ArrayList<>(); int infantryNum = 0; int artlleryNum = 0; int tankNum = 0; for (int i = 0; infantryNum <= 10 || artlleryNum <= 10 || tankNum <= 10; i++) { double randomNo = Math.random(); if (randomNo < 0.3) { soldiers.add(new Infantry()); infantryNum++; } else if (randomNo < 0.6) { soldiers.add(new Artillery()); artlleryNum++; } else { soldiers.add(new Tank()); tankNum++; } } Officer officer = new Officer(); officer.setSoldiers(soldiers); officer.attack(); officer.order(); } }
你还真敲了啊,厉害厉害厉害
greadworld 2019-04-16
  • 打赏
  • 举报
回复
import java.util.ArrayList; import java.util.List; public class Test { public static class Soldier { public void attack() { System.out.println("攻击"); } } public static class Infantry extends Soldier { @Override public void attack() { System.out.println("我是步兵,我用手枪攻击啦"); } } public static class Artillery extends Soldier { @Override public void attack() { System.out.println("我是炮兵,我用火炮攻击啦"); } } public static class Tank extends Soldier { @Override public void attack() { System.out.println("我是坦克,我用机枪攻击啦"); } } public static class Officer extends Soldier { private List<Soldier> soldiers; public List<Soldier> getSoldiers() { return soldiers; } public void setSoldiers(List<Soldier> soldiers) { this.soldiers = soldiers; } public void order() { for (Soldier s : soldiers) { s.attack(); } } @Override public void attack() { System.out.println("我是军官,我用军刀攻击啦"); } } public static void main(String[] args) { List<Soldier> soldiers = new ArrayList<>(); int infantryNum = 0; int artlleryNum = 0; int tankNum = 0; for (int i = 0; infantryNum <= 10 || artlleryNum <= 10 || tankNum <= 10; i++) { double randomNo = Math.random(); if (randomNo < 0.3) { soldiers.add(new Infantry()); infantryNum++; } else if (randomNo < 0.6) { soldiers.add(new Artillery()); artlleryNum++; } else { soldiers.add(new Tank()); tankNum++; } } Officer officer = new Officer(); officer.setSoldiers(soldiers); officer.attack(); officer.order(); } }
  • 打赏
  • 举报
回复
哈哈哈这个题把我看乐了

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧