Java:运算符 - 未定义参数类型double,double []

时间:2015-12-01 08:21:24

标签: java arrays methods double

错误"运算符 - 未定义参数类型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;

2 个答案:

答案 0 :(得分:1)

你试图从数组中减去,这不是一个双重数字 数组本身存储多个相同类型的值 你需要调用其中一个,例如targetX[0],它将给出第一个值。

或者如果您认为[]是错误,请将其删除。

答案 1 :(得分:1)

targetX是一个双打数组。这意味着你不能从中减去另一个双精度。首先,您必须指定数组中的元素。

示例:

targetX[0] -= x;
        ^
  index of element (in this case: 0)