2015-11-11 42 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打印一个java数组) – Pshemo

回答

1

这是不是一个错误 - 这只是当你打印出一个double[]因为Java数组不会覆盖toString()你会得到什么。

只需使用Arrays.toString(double[])代替:

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

非常感谢你的答案。 – Haldi

相关问题