2016-11-10 52 views
0

我正在尝试编写一些代码,并且我无法在这里解决我的问题。 我不断收到“double sideA,sideB,sideC”表达式必须是数组,但它解析为double。表达式必须是一个数组,但是......要加倍

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)); 
    } 

所以有人可以帮忙吗?

+0

哎,我编辑了这篇文章。问题是它一直告诉我它应该是一个数组(对于double sideA,sideB,sideC),但它解析为double。我想得到一个双倍,所以我如何解决这个问题? – WestCoast

+0

公共静态双计算(双[]数组1,双[]数组2,双[] ARRAY3){ – MikeJRamsey56

+0

可能的重复[类型表达的必须是一个数组类型,但它解析为INT](HTTP://计算器。 com/questions/9155423/the-type-of-the-expression-must-an-an-array-type-but-it-resolved-to-int) – WestCoast

回答

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])。)

相关问题