2015-11-11 2 views
-1

Я пытаюсь напечатать массив, который возвращается из метода, но я получаю ошибку [D @ 6521f956 в терминале. Как вы можете видеть из приведенного ниже кода, я перебираю свой массив для вычисления индекса массы тела, который затем снова помещаю в новый массив. Именно этот массив я пытаюсь вернуться к своему основному методу и распечатать в терминале, пока что не повезло. Что-нибудь очевидное, я поступаю неправильно?Ошибка [D @ 6521f956 при попытке печати массива

public class Method { 

    double [] bmiCalculation (double [] height, int [] weight){ 
    double [] bmiArray = new double[height.length]; 

    for (int i = 0; i < height.length && i < weight.length; i++) { 

     double bmi = weight[i]/(height[i] * height[i]); 
     bmiArray[i] = bmi; 
    } 

    return bmiArray; 
    } 
} 

class Methodmain { 

    public static void main (String [] args) { 

    Method method = new Method(); 
    double [] heightArray = {1.78, 1.67, 1.59, 1.80, 1.90}; 
    int [] weightArray = {50, 60, 70, 80, 90}; 

    System.out.println(method.bmiCalculation(heightArray, weightArray)); 
    } 
} 
+1

Также посмотрите на [Что это самый простой способ напечатать массив Java?] (Http://stackoverflow.com/questions/409784/whats-the-simplest -way-to-print-a-java-array) – Pshemo

ответ

1

Это не ошибка - это именно то, что вы получаете, когда вы распечатать double[] потому, что массивы в Java не отменяют toString().

Просто используйте Arrays.toString(double[]) вместо:

double[] result = method.bmiCalculation(heightArray, weightArray); 
System.out.println(Arrays.toString(result)); 
+0

Большое спасибо за быстрый ответ. – Haldi

Смежные вопросы