Java - 打印数组

时间:2015-10-16 21:47:46

标签: java arrays

所以我搜索了不同的方法,它们似乎都很复杂。那么到底我需​​要做什么,我宁愿不使用数组util,以便打印数组?到目前为止,我有这个:

public static void main(String[] args) 
{
    int a[] = {2, 3, 5, 7, 11, 13};

    int sum = 0;

    System.out.printf("The average of  \n" + a );

    for(int i = 0; i < a.length; i++)
        sum = sum + a[i];

    double avg = sum / a.length;

    System.out.println("\nis\n  " + avg);
}

它打印出来:

The average of
[I@1bd0dd4 is 6.0

我假设(不确定我是否正确)意味着它正在打印数组的位置而不是包含的内容。 (如果我错了,请纠正我)同样,我们得到的回答是6.83,我的回答是6.0,这意味着我做错了。关于如何在不使用任何特殊库的情况下打印数组以及数学问题来自何处的任何想法?

1 个答案:

答案 0 :(得分:0)

System.out.printf("The average of  \n" + a );

您正在打印数组对象,您应该迭代它并单独打印内容。 OR 您可以使用Arrays.toString打印数组内容。同时将其中一个值(sumarray length)转换为double得到了平均值。珍贵。使用System.out.format()打印小数值。

int a[] = {2, 3, 5, 7, 11, 13};
System.out.print("The average of \n" + Arrays.toString(a));  // print the array

for(int i = 0; i < a.length; i++)
  sum = sum + a[i];

double avg = (double)sum / a.length;  // cast one of the value to double

System.out.format(" is %.2f", avg);   // print the output upto two decimal.

<强>输出:

The average of 
[2, 3, 5, 7, 11, 13] is 6.83