我有一个关于如何调用数组静态方法的问题。在我的情况下,我相信我的数组静态方法很好,因为编译器没有抱怨它,但是当我调用它时它会这样做,它说double cannot be converted to double[]
我该如何解决这个问题?任何帮助将不胜感激。以下是我的代码片段:
// create allowed x values for calculation static method
public static double[] allowedValuesX(double[] x, double[] y, int choice){
double allowedVx[] = new double[choice];
int i = 0;
for(i = 0; i < allowedVx.length; i++){
if((Math.pow(x[i], 2) + (Math.pow(y[i], 2))) <= 1){
allowedVx[i] = x[i];
}
}
return allowedVx;
}
// main method
public static void main(String args[]){
// create Scanner object
Scanner in = new Scanner(System.in);
// call to promptUser
promptUser();
// create variable for recieving user input
int choice = in.nextInt();
double x[] = new double[choice];
int i = 0;
for(i = 0; i < x.length; i++){
x[i] = Math.random();
}
// call to allowed x values
allowedValuesX(x[i], y[j], choice);
答案 0 :(得分:3)
在调用allowedValuesX
时传递特定的数组元素:
allowedValuesX(x[i], y[j], choice);
但是你应该自己传递数组,以匹配方法的参数类型:
allowedValuesX(x, y, choice);