关于#Map#的问题,如何解决?


package castle;

import java.util.HashMap;

public class GongDian {

    private String a;
    private HashMap<String,GongDian> ste=new HashMap<String,GongDian>();
    public GongDian(String a) {
        this.a=a;
    }
    //创建房间
    public void Setcuang(String eye,GongDian gongdian) {
        ste.put(eye, gongdian);
    }
    
    @Override
    public String toString() {
        return a;
    }
    public String getgongdian() {
        StringBuffer sb=new StringBuffer();
        for(String c:ste.keySet()) {
            sb.append(c);
            sb.append(" ");
        }
        return sb.toString();
    }
    public GongDian getGong(String ljh) {
        return ste.get(ljh);
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

}
package castle;

import java.util.HashMap;
import java.util.Scanner;

public class Cheshi {

    private GongDian sumb;
    private HashMap<String,Handler> handlers=new HashMap<String,Handler>();
    
    public Cheshi() {
        handlers.put("go", new HandlerGo(this));
        handlers.put("help", new HandlerHelp(this));
        handlers.put("bye", new Handlerbye(this));
        sumbs();
    }
    public void sumbs() {
        GongDian 餐厅; GongDian 卫生间; GongDian 卧室;GongDian 地窖;
        GongDian 门外; GongDian 客厅;   GongDian 阳台;
        //定义房间
        餐厅=new GongDian("餐厅");
        卫生间=new GongDian("卫生间");
        卧室=new GongDian("卧室");
        地窖=new GongDian("地窖");
        门外=new GongDian("门外");
        客厅=new GongDian("客厅");
        阳台=new GongDian("阳台");
        //定义房间的出口
        餐厅.Setcuang("晚霞", 阳台);
        卫生间.Setcuang("睡觉",卧室 );
        卧室.Setcuang("日出", 阳台);
        餐厅.Setcuang("睡觉",卧室 );
        餐厅.Setcuang("小便", 卫生间);
        卫生间.Setcuang("吃饭", 餐厅);
        卫生间.Setcuang("吹吹风", 阳台);
        卫生间.Setcuang("看电视", 客厅);
        门外.Setcuang("看日出", 阳台);
        门外.Setcuang("上厕所", 卫生间);
        门外.Setcuang("上床", 卧室);
        门外.Setcuang("取东西", 地窖);
        门外.Setcuang("看电影", 客厅);
        地窖.Setcuang("放东西", 餐厅);
        地窖.Setcuang("洗手", 卫生间);
        客厅.Setcuang("睡觉", 卧室);
        客厅.Setcuang("看太阳", 阳台);
        客厅.Setcuang("外出", 门外);
        阳台.Setcuang("休息", 卧室);
        阳台.Setcuang("喝奶茶", 餐厅);
        sumb=门外;
    }
    public void printfGong() {
        System.out.println("您好!");
        System.out.println("欢迎来到这里");
        System.out.println("需要帮助请输入:help");
        System.out.println("下面请开始你的游戏吧");
        System.out.println("你目前的位置在:"+sumb);
        System.out.println("出口有:");
        System.out.println(sumb.getgongdian());
        System.out.println();
    }

    public void printel(String ljh) {
        GongDian exte=sumb.getGong(ljh);
        if(ljh==null) {
            System.out.println("那里没有门");
        }
        else {
            sumb=exte;
            System.out.println("你目前的位置在:"+sumb);
            System.out.println("出口有:");
            System.out.println(sumb.getgongdian());
            System.out.println();
        }
    }
    public void play() {
        Scanner in=new Scanner(System.in);
        while(true) {
            String dd=in.nextLine();
            String[] wosd=dd.split(" ");
            Handler handler= handlers.get(wosd[0]);
            String value="";
            if(wosd.length > 1) {
                value=wosd[1];
            }
            if(handler !=null) {
                handler.doCmd(value);
             }
            if(handler.isBye()) {
                break;
            }
            
    }
        in.close();
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Cheshi aa=new Cheshi();
        aa.printfGong();
        aa.play();
        
        System.out.println("欢迎你的光临,再见");
    }

}
package castle;

public class Handler {

     protected Cheshi cheshi;
    public Handler(Cheshi Cheshi) {
        this.cheshi=cheshi;
    }
    public void doCmd(String word) {}
    
    public  boolean isBye() {
        return false;
    }
}
package castle;

public class Handlerbye extends Handler{
    public Handlerbye(Cheshi cheshi) {
        super(cheshi);
        // TODO Auto-generated constructor stub
    }
    @Override
    public boolean isBye() {
        // TODO Auto-generated method stub
        return true;
    }
}
package castle;
public class HandlerHelp extends Handler{
        public HandlerHelp(Cheshi cheshi) {
        super(cheshi);
        // TODO Auto-generated constructor stub
    }
        public void doCmd(String word) {
            System.out.println("请问你是迷路了吗?");
            System.out.println("可以输入 go: 客厅、阳台、卫生间、卧室,试试看哦");
            System.out.println("比如:go 客厅");
        }
}
package castle;

public class HandlerGo extends Handler{

    public HandlerGo(Cheshi cheshi) {
        super(cheshi);
        // TODO Auto-generated constructor stub
    }
    public void doCmd(String word) {
              cheshi.printel(word);
    }    
}

emm,什么问题啊,你光贴代码吗