我是java新手,请帮助我为什么会出现这个错误。我已经搜索过了,但没有找到任何帮助。我会非常感激的!代码:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main{
private class AdjMatrix{
public AdjMatrix(){
System.out.println("No parameters were given to class AdjMatrix");
}
void printAdjMatrix(int[][] arr){
System.out.println("Elements are :");
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print("|" + arr[i][j] + "|" + "\t");
}
System.out.println("_______________");
}
}
}
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter the vertices of graphs: ");
int ver = sc.nextInt();
int [][] arr = new int[ver][ver];
AdjMatrix objMatrix = new AdjMatrix();
objMatrix.printAdjMatrix(arr);
}
}
I'm getting error on this line: AdjMatrix objMatrix = new AdjMatrix();
2条答案
按热度按时间rqdpfwrv1#
或许可以从内存管理的Angular 来考虑。非静态方法指的是对象的一个示例,即内存已被分配,并将在某个地方像堆栈一样进行管理。静态方法不绑定到任何特定的示例-它们的内存只分配一个位置,比如堆。
9gm1akwq2#
你可以移动班级
AdjMatrix
在外面Main
班级。然后取下private
关键字:这是首选的方法。另一种避免错误的方法是将类添加到main方法中。这在技术上是正确的,但由于不能使用
AdjMatrix
在方法之外的任何地方初始化。