糟糕的操作数类型

时间:2014-03-17 11:36:53

标签: java operand

 public double getRandKg(double[] value)
{
    double min = 0.0;
    double max = 0.0;

    value * 0.90 = min;          <------ this is where it says bad operand
    value * 1.10 = max;                   types for binary operator '*'
    Random r = new Random();              first type double[] second type double

    double randomValue = min + (((max-min)+1) * r.nextDouble());
    return randomValue;                                                                         //

}

现在已经很晚了,也许我不能直接思考。这只是说我不能将double[]乘以double

2 个答案:

答案 0 :(得分:2)

double[]是一个数组。如何将double值数组乘以一个双精度值?

使用double[someIndex] * doubleVar与单个值相乘,并将表达式放在右侧,而不是左侧。

答案 1 :(得分:0)

我相信您正在尝试设置min和max的值。 在这种情况下,你做错了。

应该是:

min = value * 0.90;          
max = value * 1.10;

http://docs.oracle.com/javase/tutorial/reflect/member/fieldValues.html

-

此外,您无法将数组乘以double。您应该参考您要使用的数组中的key =&gt;值。

例如

min = value[0] * 0.90;
min = value[0] * 0.90;

其中value [0]指的是第一个数组索引(数组从0开始)

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html