2014-01-15 7 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

Вам нужно %.2f в format:

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

24.8 только для тестирования, вы можете заменить его с правильным выражением.

Смежные вопросы