2013-11-26 28 views
0

傢伙,我想問一下如何擺脫「和」打印我的循環如何讓我的環去掉多餘的print語句

2和4 <

public static void main(String[] args) { 
    Methods(5); 
} 

public static void Methods(int a){ 

    int loops = a/2; 
    int even = 0; 

    for(int i = 0; i < loops; i++){ 
     even+=2; 
     System.out.print(even+" and "); 
    } 
} 

它打印

2和4 < < <

相反,我想

2和4 < < <

謝謝。 請幫助我,我是初學者T_T

+0

check [StringUtils.join in Apache Commons Lang](http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#join%28java.lang。 Iterable,%20java.lang.String%29) –

回答

1

你可以這樣做:

public static void Methods(int a){ 
    int loops = a/2; 
    int even = 0; 

    for(int i = 0; i < loops; i++){ 
     even+=2; 

     System.out.print(even); 
     if (i < loops - 1) { 
      System.out.print(" and ") 
     } 
    } 

換句話說:只要iloops - 1小(除了最後一步你的整個循環過程中持有),你會打印出" and "。這可以確保最後一次and上次經過循環時不打印。

1

測試您的索引是否是最後一個索引,例如i == loops - 1。如果是這樣,那麼只需打印even而不是even + " and "

+0

先生它將只打印4,如果我使用,我想打印2和4 <我剛剛得到額外的和<我希望我的程序確定給定數字的偶數。例如10 <我想打印2和4以及6和8和10.謝謝:D –

+0

是的,它會打印'4'。第一次迭代應該輸出'2和',第二次迭代將輸出'4',產生'2和4'。 – rgettman

0

進入循環之前,請檢查是否有元素,只打印第一個元素。首先增加i,然後對每個其他元素始終預先" and "

int i = 0; 
if (i < loops) { 
    even+=2; 
    System.out.print(even); 
} 
i++; 
for(; i < loops; i++){ 
    even+=2; 

    System.out.print(" and " + even); 
} 

這樣可以避免循環內的所有檢查。