当我尝试获取矩阵大小时,我收到编译错误。我知道主要方法没有任何问题,因为我的导师告诉我们不要改变它。所以我猜测getMatixSize方法有问题。程序的编译器计算:
错误:无法应用类TesterProject中的方法getMatrixSize 给定类型;
import java.util *;已经输入了该程序。
public class TesterProject
{
public static void main(String [] args)
{
int n = getMatrixSize();
int[][] m = makeAndFillMatrix(n);
printMatrix(m);
}
public static int getMatrixSize(int n)
{
Scanner S = new Scanner(System.in);
System.out.println("give me a int to create the matrix");
int n = S.nextInt();
return n;
}
}
答案 0 :(得分:1)
您试图在没有参数的情况下调用int n = getMatrixSize();
,但您的方法public static int getMatrixSize(int n)
接受一个整数作为参数。这就是你收到错误的原因。
从int n
的参数中删除getMatrixSize()
,您的代码将正常运行。
答案 1 :(得分:0)
这是因为getMatrixSize
需要int
作为参数,而你并没有给出它。
int n = getMatrixSize(5); //pass some int
此外,在您的getMatrixSize
中,n
已经宣布。
public static int getMatrixSize(int n)
{
Scanner S = new Scanner(System.in);
System.out.println("give me a int to create the matrix");
int n = S.nextInt(); //error, n is already declared in the arguments.
return n;
}
或删除参数并将其全部修复:
public static int getMatrixSize() // removed argument