尝试使用用户输入创建矩阵时出现编译错误。 JAVA

时间:2017-04-16 05:56:47

标签: java user-input

当我尝试获取矩阵大小时,我收到编译错误。我知道主要方法没有任何问题,因为我的导师告诉我们不要改变它。所以我猜测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;
    }
}

2 个答案:

答案 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