2014-10-20 95 views
-1
0     
10      
010    
1010      
01010   
101010    
0101010 

這是我的代碼,但我總是在不需要的(i%2!= 0)部分打印1。這與數字系統僅僅是一種打印模式無關。爲什麼這段代碼打印下面的零和模式不起作用?

public class Playground { 
public static void main(String[] args) { 
    for (int i = 1; i <= 7; i++) { 
     for (int j = 1; j <= i; j+=2) { 
      if (i % 2 != 0) { 
       System.out.print(0); 
       System.out.print(1); 
      } 
     } 
     for (int j = 1; j <= i; j+=2) { 
      if (i % 2 == 0) { 
       System.out.print(1); 
       System.out.print(0); 
      } 
     } 
     System.out.println(); 

    } 
    } 

} 

回答

0
for (int i = 0; i < 7; i++) { 
    for (int j = i; j >= 0; j--) { 
     System.out.print(j % 2); 
    } 
    System.out.println(); 
} 

或者你也可以做到這一點(由@MitchTalmadge建議):

String output = ""; 
for (int i = 0; i < 7; i++) { 
    output = (i % 2) + output; 
    System.out.println(output); 
} 
+0

您也可以與如果僅僅是System.out.print'(j%2)更換;' – 2014-10-20 00:17:01

+0

是的,在他的情況下這樣做會更好。編輯我的帖子。謝謝@thatotherguy – afzalex 2014-10-20 00:22:00

+0

有更好的方法來做到這一點。但是我無法發佈,因爲問題處於擱置狀態。 – 2014-10-20 00:24:07

相關問題