2013-05-23 3 views
1

아래 코드를 이해하려고하는데 아래의 3 항 연산자에 문제가 있습니다.3 진 연산자를 인식하고 변환하여 if 문을 수정하십시오.

  System.out.print(solution[i][j] == 0 
        ? " " 
        : Integer.toString(solution[i][j])); 

이 정보가 맞습니까?

System.out.print(solution[i][j] == 0 ? " " : Integer.toString(solution[i][j])); 

위의 문은 당신의 "이 맞습니까?",

  if (solution[i][j] == 0) { 
       System.out.print(" "); 

      } else { 
       System.out.print(Integer.toString(solution[i][j])); 
      } 
+0

내게 맞습니다. – nitegazer2003

답변

3

예에 의해 표현 될 수 맞다. 그것은 약간의 공백을 제거한 것이므로 엉망이되는 것은 어렵습니다. 나는 두 번째 성명서가 정확하다고 생각한다. 메소드 매개 변수 내부에 삼원 문자를 넣는 것은 BAD IDEA ™입니다.

+1

코드 선명도가 모든 것을 한 줄로 유지합니다. – Quetzalcoatl

3

네, 맞습니다. 방금 한 줄로 여러 줄의 문장을 썼습니다. 아무런 차이가 없습니다. 공백을 추가/제거하는 것은 아무런 효과가 없습니다. 그리고 예, if/else을 사용한 확장 버전은 동일합니다. 코드를 테스트하고 올바르게 작동하는지 확인하십시오.