/*
Source file: KomplexeZahl.java
Author: Markus Bautsch
Licence: public domain
Date: 9 April 2021
Version: 1.0
Programming language: Java
*/
/*
Klasse für komplexe Zahlen mit einigen arithmetischen Operationen
*/
public class KomplexeZahl
{
// Die beiden Instanzvariablen re und im sind die Datenfelder des Datentyps KomplexeZahl
public double re; // Realteil der komplexen Zahl
public double im; // Imaginaerteil der komplexen Zahl
/*
* Konstruktor zum Initialisieren einer Instanz einer komplexen Zahl
* @param re: Realteil der komplexen Zahl
* @param im: Imaginaerteil der komplexen Zahl
*/
public KomplexeZahl (double re, double im)
{
this.re = re;
this.im = im;
}
/*
* Addiert komplexerSummand zu komplexeZahl und speichert das Ergebnis in komplexeZahl
* @param komplexeZahl: komplexe Zahl, zu der addiert wird
* @param komplexerSummand: komplexe Zahl, die zu komplexeZahl addiert wird
*/
public static void addiereZu (KomplexeZahl komplexeZahl, KomplexeZahl komplexerSummand)
{
double reSumme = komplexeZahl.re + komplexerSummand.re;
double imSumme = komplexeZahl.im + komplexerSummand.im;
komplexeZahl.re = reSumme;
komplexeZahl.im = imSumme;
}
/*
* Quadriert eine komplexe Zahl
* @param komplexeZahl: komplexe Zahl, die quadriert werden soll
*/
public static void quadriere (KomplexeZahl komplexeZahl)
{
double re2 = (komplexeZahl.re * komplexeZahl.re) - (komplexeZahl.im * komplexeZahl.im);
double im2 = 2 * komplexeZahl.re * komplexeZahl.im;
komplexeZahl.re = re2;
komplexeZahl.im = im2;
}
/*
* Berechnet das Betragsquadrat einer komplexen Zahl
* @param komplexeZahl: komplexe Zahl, deren Betragsquadrat bestimmt werden soll
* @return: reelwertiges Betragsquadrat der komplexen Zahl
*/
public static double betragsquadrat (KomplexeZahl komplexeZahl)
{
double betragsquadrat = (komplexeZahl.re * komplexeZahl.re) + (komplexeZahl.im * komplexeZahl.im);
return betragsquadrat;
}
}