表达式必须是数组,但......要加倍

时间:2016-11-10 23:58:39

标签: java arrays

我正在尝试编写一些代码,但我无法解决我的问题。 我一直在为#side; side sideA,sideB,sideC"表达式必须是一个数组,但它解决了加倍。

public static double Calculate (double array1, double array2, double array3) {

            double sideA = Math.sqrt(((array2[0]-array3[0])^2)+((array2[1]-array3[1])^2)+((array2[2]-array3[2])^2));
            double a= Math.abs(sideA);
            double sideB = Math.sqrt(((array1[0]-array3[0])^2)+((array1[1]-array3[1])^2)+((array1[2]-array3[2])^2));
            double b= Math.abs(sideB);
            double sideC = Math.sqrt(((array2[0]-array1[0])^2)+((array2[1]-array1[1])^2)+((array2[2]-array1[2])^2));
            double c= Math.abs(sideC);
            double s = ((0.5) * (a + b + c));
            return Math.sqrt(s * (s - a) * (s - b) * (s - c));
    }

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

array1,尽管有名称,但实际上并不是数组,因为您现在已经编写了代码。正如您所写,array1只是一个数字。

相反,它应该是

public static double calculate(double[] array1, double[] array2, double[] array3) {

(另外,^不会按照您的想法执行;您需要Math.pow。另一方面,您只需撰写Math.hypot(array2[0] - array1[0], array2[1] - array1[1])。)