某游戏中有轰炸机、直升机、重型坦克、轻型坦克、飞行兵、步兵等六大兵种

题目如下

Game某游戏中有轰炸机、直升机、重型坦克、轻型坦克、飞行兵、步兵等六大兵种,下面设计一组类和接口,满足如下设计要求:
轰炸机、直升机均属于飞行器这一大类; 重型坦克、轻型坦克均属于坦克这一大类; 飞行兵、步兵均属于人这一大类;
重型坦克、轻型坦克、步兵均属于陆军;轰炸机、直升机、飞行兵均属于空军; 轰炸机、轻型坦克、步兵只能攻击陆军;
直升机、飞行兵、重型坦克即可攻击空军,也能攻击陆军。

代码如下,共有12个文件

Main.java

//Main.java
public class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        步兵 land1 = new 步兵("步兵", 'a');
        轻型坦克 land2 = new 轻型坦克("轻坦", 'c');
        重型坦克 land3 = new 重型坦克("重坦", 'a');
        直升机 plane1 = new 直升机("直飞", 'b');
        轰炸机 plane2 = new 轰炸机("轰机", 'b');
        飞行兵 plane3 = new 飞行兵("飞兵", 'd');
        land1.攻击(plane1);
        land1.攻击(plane2);
        land1.攻击(plane3);
        land1.攻击(land2);
        land1.攻击(land3);
    }
}

人.java

//人.java
public class 人 {
}

陆军.java

//陆军.java
public interface 陆军 {
    public void 攻击(Object obj);
}

空军.java

//空军.java
public interface 空军 {
    public void 攻击(Object obj);
}

飞行器.java

//飞行器.java
public class 飞行器 {
}

坦克.java

//坦克.java
public class 坦克 {
}

步兵.java

//步兵.java
public class 步兵 extendsimplements 陆军 {
    String str;
    char c;
    public 步兵  (String str, char c){
        this.str = str;
        this.c = c;
                if(c == 'a' || c == 'A' || c == 'd' || c == 'D') {
            this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
        } else if(c == 'b' || c == 'B') {
                        this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
                } else if(c == 'c' || c == 'C') {
                        this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
                }
    }
    @Override
    public void 攻击(Object obj) {
        // TODO Auto-generated method stub
        System.out.print(str + " 遇见 " + obj.toString() + ":");
                if(str.charAt(0) == obj.toString().charAt(0)) {
                        System.out.println(" 不能攻击!");
                } else {
                if(obj instanceof 重型坦克)
                System.out.println("可以攻击陆军");
                else if(obj instanceof 轻型坦克)
                    System.out.println("可以攻击陆军");
                else if(obj instanceof 步兵)
                    System.out.println("可以攻击陆军");
                else
                System.out.println("不能攻击空军");
                }
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return str;
    }
}

轻型坦克.java

//轻型坦克.java
public class 轻型坦克 extends 坦克 implements 陆军 {
    String str;
    char c;
    public 轻型坦克(String str, char c) {
        this.str = str;
        this.c = c;
        if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
            this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
        } else if (c == 'b' || c == 'B') {
            this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
        } else if (c == 'c' || c == 'C') {
            this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
        }
    }
    @Override
    public void 攻击(Object obj) {
        // TODO Auto-generated method stub
        System.out.print(str + " 遇见 " + obj.toString() + ":");
        if (str.charAt(0) == obj.toString().charAt(0)) {
            System.out.println(" 不能攻击!");
        } else {
            if (obj instanceof 重型坦克)
                System.out.println("可以攻击陆军");
            else if (obj instanceof 轻型坦克)
                System.out.println("可以攻击陆军");
            else if (obj instanceof 步兵)
                System.out.println("可以攻击陆军");
            else
                System.out.println("不能攻击空军");
        }
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return str;
    }
}

重型坦克.java

//重型坦克.java
public class 重型坦克 extends 坦克 implements 陆军 {
    String str;
    char c;
    public 重型坦克(String str, char c) {
        this.str = str;
        this.c = c;
        if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
            this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
        } else if (c == 'b' || c == 'B') {
            this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
        } else if (c == 'c' || c == 'C') {
            this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
        }
    }
    @Override
    public void 攻击(Object obj) {
        // TODO Auto-generated method stub
        System.out.print(str + " 遇见 " + obj.toString() + ":");
        if (str.charAt(0) == obj.toString().charAt(0)) {
            System.out.println(" 不能攻击!");
        } else {
            if (obj instanceof 重型坦克)
                System.out.println("可以攻击陆军");
            else if (obj instanceof 轻型坦克)
                System.out.println("可以攻击陆军");
            else if (obj instanceof 步兵)
                System.out.println("可以攻击陆军");
            else
                System.out.println("不能攻击空军");
        }
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return str;
    }
}

飞行兵.java

//飞行兵.java
public class 飞行兵 extendsimplements 空军 {
    String str;
    char c;
    public 飞行兵(String str, char c) {
        this.str = str;
        this.c = c;
        if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
            this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
        } else if (c == 'b' || c == 'B') {
            this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
        } else if (c == 'c' || c == 'C') {
            this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
        }
    }
    @Override
    public void 攻击(Object obj) {
        // TODO Auto-generated method stub
        System.out.print(str + " 遇见 " + obj.toString() + ":");
        if (str.charAt(0) == obj.toString().charAt(0)) {
            System.out.println(" 不能攻击!");
        } else {
            if (obj instanceof 重型坦克)
                System.out.println("可以攻击陆军");
            else if (obj instanceof 轻型坦克)
                System.out.println("可以攻击陆军");
            else if (obj instanceof 步兵)
                System.out.println("可以攻击陆军");
            else
                System.out.println("可以攻击空军");
        }
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return str;
    }
}

直升机.java

//直升机.java
public class 直升机 extends 飞行器 implements 空军 {
    String str;
    char c;
    public 直升机(String str, char c) {
        this.str = str;
        this.c = c;
        if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
            this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
        } else if (c == 'b' || c == 'B') {
            this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
        } else if (c == 'c' || c == 'C') {
            this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
        }
    }
    @Override
    public void 攻击(Object obj) {
        // TODO Auto-generated method stub
        System.out.print(str + " 遇见 " + obj.toString() + ":");
        if (str.charAt(0) == obj.toString().charAt(0)) {
            System.out.println(" 不能攻击!");
        } else {
            if (obj instanceof 重型坦克)
                System.out.println("可以攻击陆军");
            else if (obj instanceof 轻型坦克)
                System.out.println("可以攻击陆军");
            else if (obj instanceof 步兵)
                System.out.println("可以攻击陆军");
            else
                System.out.println("可以攻击空军");
        }
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return str;
    }
}

轰炸机.java

//轰炸机.java
public class 轰炸机 extends 飞行器 implements 空军 {
    String str;
    char c;
    public 轰炸机(String str, char c) {
        this.str = str;
        this.c = c;
        if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
            this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
        } else if (c == 'b' || c == 'B') {
            this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
        } else if (c == 'c' || c == 'C') {
            this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
        }
    }
    @Override
    public void 攻击(Object obj) {
        // TODO Auto-generated method stub
        System.out.print(str + " 遇见 " + obj.toString() + ":");
        if (str.charAt(0) == obj.toString().charAt(0)) {
            System.out.println(" 不能攻击!");
        } else {
            if (obj instanceof 重型坦克)
                System.out.println("可以攻击陆军");
            else if (obj instanceof 轻型坦克)
                System.out.println("可以攻击陆军");
            else if (obj instanceof 步兵)
                System.out.println("可以攻击陆军");
            else
                System.out.println("可以攻击空军");
        }
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return str;
    }
}

本文地址:http://liuyanzhao.com/3345.html
转载请注明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半缘修道半缘君丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值