矩形区域和周长

时间:2014-01-15 05:18:40

标签: java

我有一项任务,我无法搞清楚。


编写一个应用程序(Rectangle.java),要求用户输入矩形的长度和宽度(两者都是正双精度浮点数),并打印矩形的面积和周长。当用户输入7.9和4.5时,程序的输出应如下所示:

Enter the length and the width of a rectangle: 7.9 4.5
The area of the rectangle is 35.55.
The perimeter of the rectangle is 24.80.

我遇到问题的部分是将矩形周长的输出带到两个小数位,包括“0”。我一直想弄清楚这么久。我知道必须有一种简单有效的方法来执行此操作,否则它将不会作为我们的第二个Java作业分配给我们。如果要将其格式化为%2d,我不知道如何将其应用于我拥有的内容。我非常感谢你的帮助!

这是我到目前为止所拥有的:

import java.util.Scanner;
public class Rectangle {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter the length and the width of a rectangle: ");
double length = input.nextDouble();
double width = input.nextDouble();
double area = (length * width);
double perimeter = (length * 2 + width * 2);
System.out.println("The area of the rectangle is " + (int)(area * 100) / 100.0 + ".");
System.out.println("The perimeter of the rectangle is " + (int)(perimeter * 100) / 100.0 + ".");
}
}

我的输出:

Enter the length and the width of a rectangle: 7.9 4.5
The area of the rectangle is 35.55.
The perimeter of the rectangle is 24.8.

2 个答案:

答案 0 :(得分:1)

%.2f中需要format

System.out.printf("The perimeter of the rectangle is %.2f", 24.8);

24.8仅用于测试,您可以使用正确的表达替换它。

答案 1 :(得分:0)

阅读有关String.format()format string syntax的文档。这将帮助您找到正确的格式字符串,以根据需要输出数字。

基本上你必须要有最后两行代码:

System.out.println("The area of the rectangle is " + String.format("%.2f", area) + ".");
System.out.println("The perimeter of the rectangle is " + String.format("%.2f", perimeter) + ".");