我有一项任务,我无法搞清楚。
编写一个应用程序(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.
答案 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) + ".");