我试图添加一个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
方法。在该计划的全球范围内。所以你有两种选择来处理这个
-
您可以像这样创建
static
方法:public static void sumCols(TwoDArray s1){ // your code }
并在main()方法中像这样调用它(假设您已经导入了类):
public static void main(String[] args){ TwDArray.sumCols(arr) }
-
或者你可以让你的方法保持非静态,并通过创建你的类作为对象来调用它,像这样:
public static void main(String[] args){ TwDArray yourObject = new TwDArray(); }
然后这样命名
yourObject.sumCols(arr);
你的'TwoDArray'类与'TwDArray'类不同吗?还是你打错了?
如果不相同,可以这样调用:
new TwDArray().sumCols(arr);
注意:非静态方法属于对象,因此在调用类中的成员方法之前创建对象。