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
?
答案 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