2013-10-21 2 views
2

이는 X 다음 0 행은 모두 동일하고, 오브젝트 코드의 열이의 int입니다 들일 경우 실행 중지 좌표와 y 좌표가 0없는 동안 기본적으로 루프를 원하는 내 문오류 : 이진 연산자 '||'에 대한 잘못된 피연산자 유형

while(coord.getRow() || coord.getColumn() != 0) 

입니다. 나는 이런 식으로 뭔가를 할 수있는 while 루프를 실행에 대해 갈 수

error: bad operand types for binary operator '||' 

: 나는 오류가 발생하고있어 제목처럼

? 대신

+0

오류의 의미는 무엇이라고 생각하십니까? 그리고'||'가하는 일에 대한 설명을 확인 했습니까? –

+0

OR ('||')과 같은 논리 연산자는 평가를 위해 left ** 및 ** 오른손 값이 필요하다는 의미의 이진 표현식입니다. –

답변

2
while(coord.getRow() != 0 && coord.getColumn() != 0) 

while(coord.getRow() || coord.getColumn() != 0) 
+0

나는 그것이 그 순간에 조금 튀긴 내 뇌처럼 단순한 것으로 생각했다. 도와 줘서 고마워, 고마워! – ajkey94

+0

@ ajkey94 환영합니다 – newuser

+0

이 코드는 두 좌표가 모두 0이 될 때까지 계속 실행됩니다. –

2

시도 :

당신이 중 하나이있는, 그래서 0 같을 때 중지 원하기 때문에 당신은 대신 ||의 여기 &&를 사용할 필요가
while((coord.getRow() != 0) && (coord.getColumn() != 0)) { 
    // etc... 
} 

당신의 경우에는 모두이 0이 아닌지 확인해야합니다.

오류의 원인은 Java에서 ||&&과 같은 논리 연산자는 논리 표현식을 기대하기 때문입니다. 즉, 진실 또는 거짓으로 평가 될 수있는 무언가.

함수가 정수를 반환하므로 논리적으로 유효하지 않습니다. 반면 coord.getRow() != 0과 같은 것은 coord.getRow()에 따라 true 또는 false 중 하나입니다.

0

사용 :

while(coord.getRow() != 0 && coord.getColumn() != 0) 

사용 && (및) 연산자 대신 || (또는).

&& 다른 어느 쪽이든 참이면 true ||이 참이면 true입니다.

관련 문제