2012-10-10 4 views
0

이 다시 자바 (101)의 시작이다,하지만 난 여기에이 코드가 있습니다자바, 부울 값의 2 차원 배열 && 비교

if ((d==3)&&(City.walls[x--][y])){ 
     System.out.println ("Fourth Condition true"); 
     System.out.println (City.walls[x--][y]); 
     return false; 
    } 

에도 City.walls[x--][y] 경우)은 거짓이며, System.out.println 밖으로 인쇄하여이를 확인 false이면, if 문은 if 문을 입력하게됩니다. 비교를 잘못 했나요? 미리 감사드립니다.

+3

그 코드는 나에게 잘 들립니다. 그렇지만'x -'는'x'의 값을 바꿀 것이기 때문에 if 블록 앞에있는 x가 무엇이든 블럭 안의 블록이 적어서 오해의 소지가있는 디버깅 문을 제공 할 수 있습니다. –

답변

3

x 값을 변경하는 x--를 사용 중입니다. 첫 번째는 값을 반환, 그것은 가치 감소 :

int x = 5; 
System.out.println(x--); //outputs 5 
System.out.println(x); //outputs 4 

당신은 아마 당신의 코드가 if 조건 내에서 다음 if 상태에서 실행 때 X-1

+0

감사합니다. 긴 하루였습니다 ... – Nolan

+0

아무런 문제가 없습니다. 오버플로 스택을 환영합니다! – Arcymag

+1

@NolanLozinski는 [이 게시물을 답변으로 표시하는 것을 잊지 마세요] (http://meta.stackexchange.com/a/5235/182862) –

2

이 값은 다를 수 있습니다 싶은 말을 어디를 콘솔에 인쇄 중입니다.

if 조건에서 x의 값을 감소시킵니다. 그래서 조건 내에서 인쇄하면 값이 감소합니다.