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

来源:互联网 发布:频率测试软件 编辑:程序博客网 时间:2024/06/12 01:47

题目如下

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

代码如下,共有12个文件

Main.java

//Main.javapublic 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

//人.javapublic class 人 {}

陆军.java

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

空军.java

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

飞行器.java

//飞行器.javapublic class 飞行器 {}

坦克.java

//坦克.javapublic class 坦克 {}

步兵.java

//步兵.javapublic 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

//轻型坦克.javapublic 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

//重型坦克.javapublic 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

//飞行兵.javapublic 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

//直升机.javapublic 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

//轰炸机.javapublic 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
转载请注明

原创粉丝点击