此问题已经在这里有了答案:
我编写了一个Java程序,该程序完全可以实现预期的目标,但是答案必须四舍五入到小数点后5位。
我已经用谷歌搜索了很多,但是我看到的每个帖子都有两次输入。这是一个sumArea答案,需要四舍五入。
public class COSC_HW13
{
// Main method
public static void main(String[] args)
{
// Create an array of four objects
GeometricObject[] array = {new Circle(5), new Circle(8),
new Rectangle(3, 4), new Rectangle(4, 2)};
// Display results
System.out.println("Total area of elements in array: "
+ sumArea(array));
}
// Returns the sum of the areas of
//all the geometric objects in an array
public static double sumArea(GeometricObject[] a)
{
double sum = 0;
for (int i = 0; i < a.length; i++)
{
sum += a[i].getArea();
}
return sum;
}
}
您可以使用DecimalFormat
中的java.text.DecimalFormat
类。下面是您需要做的:
import java.text.DecimalFormat
DecimalFormat df = new DecimalFormat("#.#####");
df.format(sumArea(array))
例如,由于5舍入为6,因此df.format(5.123456)
将返回5.12346
。