所以我搜索了不同的方法,它们似乎都很复杂。那么到底我需要做什么,我宁愿不使用数组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,这意味着我做错了。关于如何在不使用任何特殊库的情况下打印数组以及数学问题来自何处的任何想法?
答案 0 :(得分:0)
System.out.printf("The average of \n" + a );
您正在打印数组对象,您应该迭代它并单独打印内容。 OR 您可以使用Arrays.toString
打印数组内容。同时将其中一个值(sum
或array 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