2011-03-12 62 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