增加2D数组的sumCol方法



我试图添加一个sumCol()方法到我的类TwDArray,然后在我的TwDArrayApp主方法调用它。我有:

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];
        }
    }
}

我不确定如何在我的main方法中调用它,我开始了:

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));
}

我在编程方面还是个新手,可能会让它变得更困难。任何方向或建议将不胜感激!请详细解释你的答案,以便我能理解。—这里有额外的代码,因为我一直在尝试不同的行,看看我是否可以让它工作

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);
    

你的'TwoDArray'类与'TwDArray'类不同吗?还是你打错了?

如果不相同,可以这样调用:

new TwDArray().sumCols(arr);

注意:非静态方法属于对象,因此在调用类中的成员方法之前创建对象。

相关内容

  • 没有找到相关文章

最新更新