Java 数组和静态方法
我有一个关于如何调用数组静态方法的问题。在我的例子中,我相信我的数组静态方法是好的,因为编译器不会抱怨它,但当我调用它时它会抱怨,它说,Java 数组和静态方法,java,arrays,static-methods,Java,Arrays,Static Methods,我有一个关于如何调用数组静态方法的问题。在我的例子中,我相信我的数组静态方法是好的,因为编译器不会抱怨它,但当我调用它时它会抱怨,它说,double不能转换为double[]如何解决这个问题?任何帮助都将不胜感激。下面是我的代码片段: // create allowed x values for calculation static method public static double[] allowedValuesX(double[] x, double[] y, int choice){
double不能转换为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);
//为计算静态方法创建允许的x值
公共静态双[]允许值x(双[]x,双[]y,整数选择){
双允许vx[]=新双[选择];
int i=0;
对于(i=0;i 如果((Math.pow(x[i],2)+(Math.pow(y[i],2))调用allowedValuesX时传递特定数组元素
:
allowedValuesX(x[i], y[j], choice);
但您应该传递数组本身,以匹配方法的参数类型:
allowedValuesX(x, y, choice);
调用allowedValuesX
时,您正在传递特定的数组元素:
allowedValuesX(x[i], y[j], choice);
但您应该传递数组本身,以匹配方法的参数类型:
allowedValuesX(x, y, choice);
调用allowedValuesX
时,您正在传递特定的数组元素:
allowedValuesX(x[i], y[j], choice);
但您应该传递数组本身,以匹配方法的参数类型:
allowedValuesX(x, y, choice);
调用allowedValuesX
时,您正在传递特定的数组元素:
allowedValuesX(x[i], y[j], choice);
但您应该传递数组本身,以匹配方法的参数类型:
allowedValuesX(x, y, choice);
allowedValuesX(x[i],y[j],choice);vsdouble[]x,double[]y,int choice
。你看到区别了吗?你的签名需要一个数组,但你用数组中的一个值来调用它(又称为:单double
)。allowedValuesX(x[i],y[j],choice);
vsvsdouble[]x,double[]y,int choice
。您看到区别了吗?您的签名需要一个数组,但您使用数组中的单个值调用它(也称为:一个单double
)。允许值x(x[i],y[j],choice);
vsdouble[]x,double[]y,int choice
。您看到区别了吗?您的签名需要一个数组,但您使用数组中的单个值调用它(也称为:一个单double
)。允许值x(x[i],y[j],choice);
vsdouble[]x,double[]y,int choice
。您看到区别了吗?您的签名需要一个数组,但您使用数组中的单个值调用它(也称为:单个双)。