得到我无法理解的错误

时间:2017-11-19 15:41:24

标签: java primitive-types

下面的代码给了我一个"不能在原始类型double"上调用nextDouble()。错误。我是Java的新手,任何人都可以就导致它的原因提供一些指导吗?

public static double[][] getArray(int row,int column){

    double [][] a = new double[row][column];
    double input;

    for (int x=0; x<a.length; x++){
        for (int y=0; y<a[x].length; y++){
            a[x][y] = input.nextDouble();
        }
    }

    return a;
}

1 个答案:

答案 0 :(得分:3)

您已使用double类型作为变量input,并且无论如何您无法在基本类型上调用方法。 如果要从控制台扫描双精度型,请使用类似Scanner的类型:

Scanner input = new Scanner(System.in);

所以,你的方法应该是这样的:

public static double[][] getArray(int row,int column){

    double [][] a = new double[row][column];
    Scanner input = new Scanner(System.in);

    for (int x=0; x<a.length; x++){
        for (int y=0; y<a[x].length; y++){
            a[x][y] = input.nextDouble();
        }
    }

    return a;
}