2012-02-28 3 views
-1

System.out.println()을 사용하면 0이 아닌 정수만 어떻게 표시 할 수 있습니까? 예를 들어 변수 a = 4, b = 5c = 3이 있으면 모두 인쇄해야합니다. 이제 c에서 3을 빼면 a = 4, b = 5c = 0이됩니다. ab 만 표시하려면 어떻게해야합니까? c은 표시하지 않으시겠습니까?0이 아닌 정수만 표시하려면 어떻게해야합니까?

+0

if (a> 0) System.out.println (a);'. 또는 출력 할 변수의 목록을 만든 다음 목록에서 0보다 큰 인쇄 구성원 만 반복합니다. –

+0

아니, 나는 C의 가치가 0이기 때문에 나는 어떻게 A와 B 만 표시 할 수 있었는지를 의미했다 ... –

+0

이것은 게임을위한 것이며, 나는 a와 b가 둘 다 필요하다 : –

답변

7
if (a != 0) 
    System.out.println(a); 
if (b != 0) 
    System.out.println(b); 
if (c != 0) 
    System.out.println(c); 

배열을 더 쉽고 편하게 만들려면 배열에 넣기를 원할 것입니다.

0

또 다른 접근법은 0 값을 - 문자열로 바꿉니다. 물론 원하는 경우 빈 문자열을 포함하여 다른 값을 대신 사용할 수 있습니다.

System.out.println(a == 0 ? "-" : a); 
System.out.println(b == 0 ? "-" : b); 
System.out.println(c == 0 ? "-" : c); 

이것은 ternary conditional operatorCONDITION ? VALUE_IF_TRUE : VALUE_IF_FALSE 사용합니다. 당신은 더 이상 표현의 일부로 사용하려는 경우, 당신은 일반적으로 다음과 같이 괄호로 묶어야한다, 그래서이 연산자는, precedence 다소 낮은 있습니다

System.out.println("A = " + (a == 0 ? "-" : a)); 
System.out.println("B = " + (b == 0 ? "-" : b)); 
System.out.println("C = " + (c == 0 ? "-" : c)); 

또는 과정을, 당신은 또한에 일반 if 문을 사용할 수 있습니다 동일한 효과를 얻으려면 좀 더 자세한 정보가 필요합니다 (더 유연합니다).

if (a == 0) 
    System.out.println("A is zero"); 
else 
    System.out.println("A = " + a); 
관련 문제