下面的代码给了我一个"不能在原始类型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;
}
答案 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;
}