«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.