2011-03-12 39 views
0

這是說的類型不匹配的....即使適當類型選擇....在打印時幫助我解決此數組中的錯誤?

我附上代碼爲更好地理解....

public void calucate() 
    { 
     int Sum=0; 
     arraySumOfRows= new int[20]; 
     for(int i=0;i<Array1.length;i++) 
     { 
      for(int j=0;j<Array1.length;j++) 
      { 
       Sum=Sum+Array1[i][j]; 
       arraySumOfRows[i]=Sum; 
      } 

     } 

     for(int i=0;i<arraySumOfRows.length;i++) 
      System.out.println(Arrays.toString(arraySumOfRows[i])); 


    } 

回答

1

兩個問題:

  1. arraySumOfRows[i]是整數,並且Arrays.toString()期望的陣列。只用:

    System.out.println(arraySumOfRows[i]); 
    
  2. 你的內循環是錯誤的。我應該是:

    for(int j=0;j<Array1[i].length;j++) 
    
1

試試這個:

通知我把arraySumOfRows[i]=Sum行移出內部(j)循環,我認爲它屬於外部循環(i)。

public void calucate() 
    { 
     int Sum=0; 
     arraySumOfRows= new int[20]; 
     for(int i=0;i<Array1.length;i++) 
     { 
      for(int j=0;j<Array1.length;j++) 
      { 
       Sum=Sum+Array1[i][j];      
      } 
      arraySumOfRows[i]=Sum;  
     } 

     for(int i=0;i<arraySumOfRows.length;i++) 
      System.out.println(Integer.toString(arraySumOfRows[i]));  

    } 
+1

他們是沒有'ToString'字段(或方法)上的整數。 – 2011-03-12 06:53:41

+1

@Peter:有Integer.ToString但不是int.ToString – CloudyMarble 2011-03-12 13:27:59