java - rectangle 区域和周长

  显示原文与译文双语对照的内容

我有一个任务,我无法找出。


编写应用程序( rectangle.java ),要求用户输入 rectangle ( 均为正双精度浮点数)的长度和宽度,并打印 rectangle的面积和周长。 当用户输入 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.


我遇到的问题是将 rectangle的外围输出带到了两个小数位,包括我一直在尝试的" 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.

时间: 作者:

阅读关于 String.format()格式字符串语法的文档。 这将帮助你找到正确的格式字符串,以便根据需要输出数字。

基本上,你必须使用最后两行代码:


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) +".");

作者:

format 中需要 %.2f:


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

24.8 只是为了测试,你可以用正确的expresion替换它。

作者:
...