2014-01-15 262 views
1

我有一項任務,我很難搞清楚。矩形區域和邊界


編寫要求用戶輸入長度和矩形的寬度(均爲正雙精度浮點數),並打印的面積和周長的應用(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

格式字符串語法在http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#syntax解釋和一個方式來使用它在http解釋:// docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html#format(java.lang.String,java.lang.Object ...) –

回答

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

如果您使用'「%.2f 「',你不需要關注整個'* 100',將其轉換爲'int',然後再除以100.0的業務。 –

+0

對。在這裏很早... –

+0

非常感謝你們!字符串是我一直搞亂它:) – MalPal

1

您需要%.2fformat

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

24.8只是爲了測試,則可以替換用正確的表達。