我有一个获得数组平均值的方法。我需要输出两位小数。在我的客户端程序中,我有以下printf语句打印出平均值。我知道我的平均方法有效,因为我添加了一个简单的println(getAverage()),返回正确的结果而不会超过两位小数。
请注意,我确实有一个检查重复项的方法,因此数组将保存以下值{6,3,5,2,7,9,4}。
我认为问题在于我的printf声明。请告知,thx。
** getAverage()方法**
public double getAverage() {
int sum = 0;
double average;
for (int i = 0; i < nElems; i++) {
sum += arr[i];
}
average = (sum * 1.0) / nElems;
return average;
}
**客户计划**
public static void main(String[] args) {
// ** Use for initial debugging ** //
ArrayDataPlus d1 = new ArrayDataPlus(10);
d1.display();
insert(d1, 6);
insert(d1, 3);
insert(d1, 6);
insert(d1, 5);
insert(d1, 2);
insert(d1, 7);
insert(d1, 6);
insert(d1, 9);
insert(d1, 7);
insert(d1, 2);
insert(d1, 4);
d1.display();
System.out.printf("Avg = %1.2\n", d1.getAverage());
}
答案 0 :(得分:2)
%1.2
需要格式说明符,例如f
,如%1.2f
。