微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java:在当前上下文中未知的变量?

如何解决java:在当前上下文中未知的变量?

| 此行生成一个“当前上下文中未知”编译器错误。为什么?
if (inputMatrix[newPosition.i][newPosition.j]==\'*\'){
        // variable not kNown in current context,why? 
        }
方法声明:
 static Point moveForward(Point oldPosition,int matrixSize,char orientation,char [][] inputMatrix){

         // add possible new Position
        Point newPosition;

        //first return oldPosition border positions in which the robot shouldn\'t move 

        if ((orientation==\'O\')&&(oldPosition.j==0))
               return oldPosition;

        if ((orientation==\'E\')&&(oldPosition.j==(matrixSize-1)))
               return oldPosition;

         if ((orientation==\'N\')&&(oldPosition.i==0))
               return oldPosition;

         if ((orientation==\'S\')&&(oldPosition.i==(matrixSize-1)))
               return oldPosition;


         if ((orientation==\'O\'))
             newPosition = new Point(oldPosition.i,oldPosition.j-1);
         if ((orientation==\'E\'))
             newPosition = new Point(oldPosition.i,oldPosition.j+1);
        if ((orientation==\'S\'))
             newPosition = new Point(oldPosition.i-1,oldPosition.j);
        if ((orientation==\'N\'))
             newPosition = new Point(oldPosition.i+1,oldPosition.j);


        //then return oldPosition for positions in which the robot is blocked by *
        if (inputMatrix[newPosition.i][newPosition.j]==\'*\'){
        // variable not kNown in current context,why? 
        }




        return null;


    }
    

解决方法

因为不能保证newPosition已经初始化。使用
Point newPosition = null;
在文件的开头。这将至少使用null初始化变量值。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。