为什么我在此代码中出现“无法解决”错误?

时间:2012-01-15 20:49:22

标签: java

我试图检查一下此举对于奥赛罗来说是否合法。我使用a for each循环和一次(仅一次)当我使用它正在检查的变量时,它给了我一个“无法解决的错误”#39;我发生了这种情况。有人可以帮忙吗? (是的我知道代码还没有完成,我试图先解决这个错误。)

public boolean isLegal(Location loc1)
{
    String currentColor = currentPlayer.getColor();
    boolean isLegal = false;
    int row = loc1.getRow();
    int col = loc1.getCol();
    if(board.isValid(loc1))
    {
        if(board.get(loc1) == null)
        {
            for(Location tempLoc : board.getValidAdjacentLocations(loc1))
            {
                if(!board.get(tempLoc).equals(currentColor))
                {
                    int tempRow = tempLoc.getRow();

                    if((row != tempLoc.getRow()) && (col == tempLoc.getCol()))
                    {
                        //count up column
                        if(**tempLoc.getRow()** < row)
                        {
                            for(int i = row; i > 1;)
                            {
                                Location tempLoc2 = new Location(i-2, col);
                                if(!board.get(tempLoc2).equals(currentColor))
                                {
                                    i--;
                                }
                                else
                                {
                                    i=-1;
                                    isLegal = true;
                                }   
                            }
                        }
                        //count down column
                        else
                        {
                            for(int i = row; i < 6;)
                            {
                                Location tempLoc2 = new Location(i+2, lcol);
                                if(!board.get(tempLoc2).equals(currentColor))
                                {
                                    i++;
                                }
                                else
                                    i=9;
                                isLegal = true;
                            }
                        }
                    }
                    else if(col != tempLoc.getCol() && row == tempLoc.getRow())
                    {
                        //count left/right row
                        if(col > tempLoc.getCol())
                        {

                        }
                        else
                    }
                    else
                    {   //count up/right & down/left diag
                        if(1!=0)
                        {

                        }
                        //count up/left & down/right diag
                        else
                    }
                }
            }
        }
    }
    return isLegal;
}

1 个答案:

答案 0 :(得分:0)

代码底部没有正文的“else”语句会让编译器对循环内部的内容感到困惑。如果你修正了这个错误,另一个就会消失。