账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Java报错,这是一个啥错误
    • 师傅被妖怪抓走了2018-11-04 00:00
    16
    0

    1.写了个城堡游戏,突然报错了,子类中已经继承了父类的方法,为啥还报错??呢
    2.接口

    package ChenBan;
    public interface scene {
       //设置出口
       public void setExit(String name,scene room);
       //获得出口
       public String getExit();
       //房间中的物体
       public void res();
       //对当期场景的叙述
       public void narration();
       //对当前房间的描述
       public String toString();
    }

    实现接口

    package ChenBan;
    import java.util.HashMap;
    
    public abstract class Room implements scene {
       private String description;
       private HashMap<String,scene> roomList=new HashMap<String,scene>();
       
       public Room(String description){
           this.description=description;
       }
       //单个房间出口的初始化
       public void setExit(String name,scene room){
           roomList.put(name, room);
       }
       //获得出口
       public String getExit(){
           StringBuffer s=new StringBuffer();
           for(String str:roomList.keySet()){
               s.append(str);
               s.append(roomList.get(str));
               s.append("");
           }
           if(roomList.isEmpty()){
              System.out.println("这个房间的周边没有相邻的房间入口");
           }
           return s.toString();
       }
       //去当前房间的下个出口
       public Room getDirect(String direction){
           Room ret=(Room)roomList.get(direction);
           return ret;
       }
       //输入当前房间的描述
       public String toString(){
           return this.description;
       }
    }

    子类

    package ChenBan;
    public class BedRoom extends Room{
        public BedRoom(String description){
           super(description);
        }
        @Override
        public void res() {
            // TODO Auto-generated method stub    
        }
        @Override
        public void narration() {
           System.out.println("这是主卧");              
        }
    }

    业务

    package ChenBan;
    
    public class Initial {
       //初始化当前的房间
       private scene currentRoom;
       //显示欢迎的信息
       public void welcome(){
           System.out.println("欢迎来到城堡");
           System.out.println("这是一个房间探险的游戏");
           System.out.println("你可以输入'go 方向'去你想去的方向");
           System.out.println("你可以输入'bye'来结束游戏");
           System.out.println("如果需要帮助,请输入'help'");
       }
       //设置所有的房间
       BedRoom bedRoom=new BedRoom("卧室");
       scene s=new BedRoom("");
       FrontRoom frontRoom=new FrontRoom("客厅");
       Kitchen kRoom=new Kitchen("厨房");
       //设置房间的关联
       s.setExit();//这里报错了
    }

    3.s.setExit();报错Syntax error on token "setExit", Identifier expected after this token
    没弄明白哪里的问题,先谢谢各位了

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 爻灵 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部