Робота з комплексними числами

Java:
Робота з комплексними числами

Як це зробити:

Java не має вбудованої підтримки комплексних чисел, але ми можемо створити власний клас або використати бібліотеку. Ось швидкий приклад того, як створити простий клас ComplexNumber і використовувати його:

public class ComplexNumber {
    private double real;
    private double imaginary;

    public ComplexNumber(double real, double imaginary) {
        this.real = real;
        this.imaginary = imaginary;
    }

    public ComplexNumber add(ComplexNumber other) {
        return new ComplexNumber(this.real + other.real, this.imaginary + other.imaginary);
    }

    // ToString для відображення комплексних чисел у форматі a + bi
    @Override
    public String toString() {
        return String.format("%.1f + %.1fi", real, imaginary);
    }

    // Швидкий тест
    public static void main(String[] args) {
        ComplexNumber c1 = new ComplexNumber(2, 3);
        ComplexNumber c2 = new ComplexNumber(1, 4);

        System.out.println("Сума: " + c1.add(c2));
    }
}

Приклад виводу для головного методу буде:

Сума: 3.0 + 7.0i

Поглиблений Огляд

Перед високорівневими мовами, як-от Java, програмісти працювали безпосередньо з математичними бібліотеками на мовах, як-от Fortran або C, для управління складними операціями. Концепція сягає 16 століття, заслуговуючи визнання математиків, таких як Джироламо Кардано та Рафаель Бомбеллі.

В Java, java.lang.Math є місцем для суттєвих потреб, але пропускає комплексні числа, ймовірно, тому що не кожен програміст їх використовує. Альтернативи? Використання бібліотек. Apache Commons Math надає клас Complex, наповнений методами для маніпуляцій. Ось чому створення власного класу є чудовим: Легкість, налаштування під конкретні потреби та відсутність накладних витрат на бібліотеку.

Одна важлива деталь: увага на точність чисел з плаваючою комою. Комп’ютери не можуть точно представити деякі числа, що призводить до помилок округлення. При виконанні повторюваних складних операцій, ці помилки можуть накопичуватися!

Дивіться також

Для поглибленого вивчення та більш складних операцій, перегляньте: