我正在尝试将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];
}
}
}
我不知道如何在我的主要方法中调用它,我开始:
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 :(得分:0)
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);
答案 1 :(得分:0)
你的&#39; TwoDArray&#39;来自&#39; TwDArray&#39;类?或者这是你的错字?
如果不同,您可以调用:
new TwDArray().sumCols(arr);
注意:非静态方法属于对象,因此在调用类中的成员方法之前创建对象。