错误"运算符 - 未定义参数类型double [],double"不断出现在以下方法中,我无法弄清楚为什么或如何解决它。
public static double inputstartX (double targetX[])throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter the horizontal starting point");
while (true){
try {
double x = Double.parseDouble(br.readLine());
if ((targetX-x)<=500 && (targetX-x)>=50){
return x;
}
else {
System.out.println("The starting point must be at a horizontal distance between 50 to 500 meters away from the target");
System.out.println("Please enter the horizontal starting point again");
}
}
catch (NumberFormatException e){
System.out.println("Invalid Input, please try again");
}
}
特别是在线: &#34; if((targetX-x)&lt; = 500&amp;&amp;(targetX-x)&gt; = 50){&#34;
答案 0 :(得分:1)
你试图从数组中减去,这不是一个双重数字
数组本身存储多个相同类型的值
你需要调用其中一个,例如targetX[0]
,它将给出第一个值。
或者如果您认为[]
是错误,请将其删除。
答案 1 :(得分:1)
targetX是一个双打数组。这意味着你不能从中减去另一个双精度。首先,您必须指定数组中的元素。
示例:
targetX[0] -= x;
^
index of element (in this case: 0)