2016-11-12 78 views
0

我需要更改:System.out.print((i+1) + " ");所以它不會顯示哪些行可以確認是否聲明,但是它顯示了有多少行確認它。 現在它會說「3 6」,但我需要它說「2」有多少列確認是否聲明

int A[][] ={{0, 1, 2, 0, 2}, 
       {4, 4, 4, 4, 4}, 
       {0, -1, 8, 10, -1}, 
       {0, 3, -1, 2, 1}, 
       {4, 8, 4, 8, 12}, 
       {-1, -1, 2, 0, 1}, 
       {1, 8, 2, 4, -1}, 
       {8, 16, -1, 4, 0}}; 

System.out.println("results: "); 
for (i=0; i<8; i++) { 
    Count = 0;   
    for (j=0; j<5; j++) { 
     if (A[i][j] == -1) Count++;    
    } 
    if (Count >= 2) 
     System.out.print((i+1) + " "); 
} 
+0

將'if'語句移到第一個'for'之外,並且您的'Count'變量必須在其外部。 –

回答

0

我希望我的理解是正確的。如果是的話你的解決辦法是:

移動if語句第一for外還您Count變量必須是它

int a[][] ={{0, 1, 2, 0, 2}, 
      {4, 4, 4, 4, 4}, 
      {0, -1, 8, 10, -1}, 
      {0, 3, -1, 2, 1}, 
      {4, 8, 4, 8, 12}, 
      {-1, -1, 2, 0, 1}, 
      {1, 8, 2, 4, -1}, 
      {8, 16, -1, 4, 0}}; 
int count = 0;   
for (i=0; i<8; i++) { 
    int numbersOfMinus1 = 0; 
    for (j=0; j<5; j++) { 
     if (a[i][j] == -1){ 
      numbersOfMinus1++; 
     }  
    } 
    if (numbersOfMinus1>=2){ 
     count++; 
    } 
} 

System.out.println("results: " + count); 

提示外:因爲你使用的是Java,你應該閱讀有關Code Conventions for Java

+1

謝謝你這個作品,我會閱讀有關Java代碼約定謝謝你。 –

0

您只需要將條件if (count >= 2)移動到for循環之外以打印count(其中指示了保存'-1'元素的數組的數量),如下所示:

int count = 0;   
for (i=0; i<8; i++) { 
    for (j=0; j<5; j++) { 
     if (A[i][j] == -1) count++;    
    } 
} 
if (count >= 2) 
     System.out.print(count); 

此外,確保您遵循變量名稱的Java命名標準(以較小的大小寫開始),如count(不是Count)。