我怎样才能只显示非零整数?

时间:2012-02-28 15:06:57

标签: java

使用System.out.println(),我怎样才能显示非零的整数?例如,如果我有变量a = 4b = 5c = 3,那么它们都应该打印出来。现在,如果我们从c中减去3,它将变为a = 4b = 5c = 0。我如何仅显示ab,而不显示c

2 个答案:

答案 0 :(得分:7)

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

您可能希望将它们放在数组中,以使其更容易,更有条理。

答案 1 :(得分:0)

另一种方法:用字符串-替换零值。当然,您可以使用任何其他值,如果需要,还可以使用空字符串。

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

这使用ternary conditional operator CONDITION ? 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 );