2016-09-16 60 views
0

我正在嘗試向我的類TwDArray添加一個sumCol()方法,然後在我的TwDArrayApp主方法中調用它。下面是我有:爲二維數組添加sumCol方法

public class TwDArray { 
    public void sumCols(TwoDArray s1) { 
     int[] answer; 
     for(int i = 0; i < nRows; i++) { 
      for(int j = 0; j < a[0].length; j++) 
       answer = a[j][i] + a[i][j]; 
     } 
    } 
} 

我不知道如何調用它在我的主要方法,我開始:

public static void main(String[] args) { 
    int maxRows = 20; 
    int maxCols = 20; 
    TwoDArray arr = new TwoDArray(maxRows, maxCols); 
    TwoDArray arrb = new TwoDArray(maxRows, maxCols); 
    TwoDArray arrc = new TwoDArray(maxRows, maxCols); 
    int b[][] = {{1, 2, 3, 4}, {11, 22, 33, 44}, {2, 4, 6, 8},     
      {100, 200, 300, 400}}; 

    arr.insert(b[0]); arr.insert(b[1]); arr.insert(b[2]);  
    arr.insert(b[3]); 

    System.out.println("The original matrix: "); 
    arr.display(); 

    /*arr.sumCols(maxRows, maxCols);*/ 
    System.out.printf("%4d", sumCols(arr)); 
} 

我還是很新的節目,可能使這一困難那這是什麼。任何方向或建議,將不勝感激!請詳細解釋您的答案,以便我能理解它。 - 有額外的代碼在這裏,因爲我一直在嘗試不同的線路,看看我能否得到它的工作

+0

所以你想要一個方法,將每個列的所有值加在一起,將2D數組摺疊成1D數組? – Jeutnarg

+0

我想添加每列內的行,然後顯示數組中每列的總和 – Jane

回答

0

Java的main()方法只能調用static即方法。在該計劃的全球範圍內。所以你有兩個選擇如何處理這個問題。

  1. 你可以讓你的方法static像這樣:

    public static void sumCols(TwoDArray s1){ 
        // your code 
    } 
    

    並調用它在你的main()方法,像這樣(假設你已經導入 類):

    public static void main(String[] args){ 
        TwDArray.sumCols(arr) 
        } 
    
  2. 或者你可以讓你的方法是非靜態的,並通過創建你的類來調用它,像這樣的對象:

    public static void main(String[] args){ 
        TwDArray yourObject = new TwDArray(); 
        } 
    

    然後調用它像這樣

    yourObject.sumCols(arr); 
    
+0

我試圖保持該方法不是靜態的,並在我的main中調用它。我知道你必須通過正確的參數,也許這就是我做錯了。 – Jane

+0

@Jane在這種情況下,第二種選擇是最佳的行動方案。爲確保傳遞正確的參數,請在通過方法傳遞它們之前嘗試將內容打印到控制檯。這會告訴你到底給你的方法。如果結果正確,請嘗試通過您的方法來確定問題是否存在。只是不要放棄! – infamoustrey

0

是您的 'TwoDArray' 類從 'TwDArray' 類不同的一個?或者這是你的錯字?

如果是不同的,你可以調用,如:

new TwDArray().sumCols(arr); 

注:非靜態方法屬於一個對象,所以你調用一個類的成員方法之前創建一個對象。

+0

這是一個錯字,所以這兩個類是TwoDArray和TwoDArrayApp。該應用程序包含我要調用的主要方法,並且TwoDArray是我的方法(如insert,display和sumCol)所在的類 – Jane