«1. Обзор
В этом кратком руководстве мы покажем, как вычислить площадь круга в Java.
Мы будем использовать известную математическую формулу: r^2 * PI.
2. Метод расчета площади круга
Давайте сначала создадим метод, который будет выполнять расчет:
private void calculateArea(double radius) {
double area = radius * radius * Math.PI;
System.out.println("The area of the circle [radius = " + radius + "]: " + area);
}
2.1. Передача радиуса в качестве аргумента командной строки
Теперь мы можем прочитать аргумент командной строки и вычислить площадь:
double radius = Double.parseDouble(args[0]);
calculateArea(radius);
Когда мы скомпилируем и запустим программу:
java CircleArea.java
javac CircleArea 7
мы получим следующее вывод:
The area of the circle [radius = 7.0]: 153.93804002589985
2.2. Чтение радиуса с клавиатуры
Другой способ получить значение радиуса — использовать входные данные от пользователя:
Scanner sc = new Scanner(System.in);
System.out.println("Please enter radius value: ");
double radius = sc.nextDouble();
calculateArea(radius);
Вывод такой же, как и в предыдущем примере.
3. Класс окружности
Помимо вызова метода для вычисления площади, как мы видели в разделе 2, мы также можем создать класс, представляющий окружность:
public class Circle {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
// standard getter and setter
private double calculateArea() {
return radius * radius * Math.PI;
}
public String toString() {
return "The area of the circle [radius = " + radius + "]: " + calculateArea();
}
}
Следует отметить несколько вещей. Прежде всего, мы не сохраняем площадь как переменную, так как она напрямую зависит от радиуса, поэтому мы можем легко ее вычислить. Во-вторых, метод вычисления площади является приватным, поскольку мы используем его в методе toString(). Метод toString() не должен вызывать какие-либо общедоступные методы класса, поскольку эти методы могут быть переопределены, и их поведение будет отличаться от ожидаемого.
Теперь мы можем создать экземпляр нашего объекта Circle:
Circle circle = new Circle(7);
Вывод, конечно же, будет таким же, как и раньше.
4. Заключение
В этой короткой и точной статье мы показали различные способы вычисления площади круга с помощью Java.
Как всегда, полный исходный код можно найти на GitHub.