2013-04-25 1 views
0

이 코드를 컴파일하려고하면 오류없이 else를 얻습니다. 나는 올바른 위치에 모든 중괄호가 있다고 믿습니다. 또한 첨부 된 그림에있는 다른 오류가 발생하지만 오류가없는 경우 다른 것을 사용할 수 없기 때문에 거기에 있다고 생각합니다.그 밖의 경우에도 If 문을 찾을 수 없습니다.

문제 코드 :

public static boolean goNorth(){ 
     boolean success; 
     if(maze[currCol]currRow - 1] == CLEAR){ 
      maze[currCol][startRow -1] = PATH; 
      currRow--; 
      success = goNorth(); 
       if(!success){ 
       success = goWest(); 
        if(!success){ 
        success = goEast(); 
         if(!success){ 
          maze[currCol][currRow] = VISITED; 
          currRow++; 
          } 
         } 
        } 
        return success; 
       } else { 
        return false; 
      } 
     } 

    public static boolean goWest(){ 
     boolean success; 
     if(maze[currCol - 1]currRow] == CLEAR){ 
      maze[currCol - 1][startRow] = PATH; 
      currRow--; 
      success = goWest(); 
       if(!success){ 
       success = goSouth(); 
        if(!success){ 
        success = goNorth(); 
         if(!success){ 
          maze[currCol][currRow] = VISITED; 
          currCol++; 
          } 
         } 
        } 
        return success; 
       } else { 
        return false; 
      } 
     } 

     public static boolean goEast(){ 
     boolean success; 
     if(maze[currCol + 1]currRow] == CLEAR){ 
      maze[currCol + 1][startRow] = PATH; 
      currRow--; 
      success = goEast(); 
       if(!success){ 
       success = goNorth(); 
        if(!success){ 
        success = goSouth(); 
         if(!success){ 
          maze[currCol][currRow] = VISITED; 
          currCol--; 
          } 
         } 
        } 
        return success; 
       } else { 
        return false; 
      } 
     } 

     public static boolean goSouth(){ 
     boolean success; 
     if(maze[currCol]currRow + 1] == CLEAR){ 
      maze[currCol][startRow + 1] = PATH; 
      currRow--; 
      success = goSouth(); 
       if(!success){ 
       success = goEast(); 
        if(!success){ 
        success = goWest(); 
         if(!success){ 
          maze[currCol][currRow] = VISITED; 
          currRow--; 
          } 
         } 
        } 
        return success; 
       } else { 
        return false; 
      } 
     } 

오류 :

screen shot 유효하지의

+0

이미지에 대한 링크가 아니라 오류의 텍스트를 게시하십시오. –

+0

IDE 사용은 어떻습니까? – Vitaly

답변

3
if(maze[currCol + 1]currRow] == CLEAR){ 

; currRow 주변의 왼쪽 대괄호가 몇 자리에 누락되었습니다.

또한 여기에는 리팩터링 기능이 있습니다.

+1

좋은 구문 분석기를 만들 수 있습니다. :) –

+0

+1 그것을 위해 hawkeyeing. 이것은 코드가 너무 부풀어 오르는 경우에 발생합니다. –

+0

감사합니다. 너의 도움으로. 나는 이것을 잡았어야했다. – Jaylon253

2

첫 번째 메시지는입니다. 첫 번째 오류를 이해할 때까지 첫 번째 오류 후에는 오류를 읽지 마십시오.

첫 번째 오류는이 라인에 구문 오류가 있음을 말하고있다 :

(당신이 다음 네 번 - 붙여 넣기 복사)
if(maze[currCol]currRow - 1] == CLEAR){ 

. [이 (가) currRow 앞에 누락되었습니다.

+0

네, 도와 줘서 고마워, 장래에 이럴거야. – Jaylon253

관련 문제