de.thaw.ps1.blatt10
Class KomplexeZahl

java.lang.Object
  extended by de.thaw.ps1.blatt10.KomplexeZahl

public class KomplexeZahl
extends Object

Eine komplexe Zahl mitsamt Real- und Imaginärteil.

Author:
Arne Johannessen
See Also:
10. Übungsblatt PS1

Field Summary
private  double imaginary
          Imaginärteil
private  double real
          Realteil
 
Constructor Summary
KomplexeZahl(double real, double imaginary)
          Erstellt eine komplexe Zahl anhand von Realteil und Imaginärteil.
 
Method Summary
 KomplexeZahl divideBy(KomplexeZahl divisor)
          Teilt diese Zahl durch die übergebene.
 KomplexeZahl doAddition(KomplexeZahl summand)
          Addiert die übergebe komplexe Zahl zu dieser.
(package private)  KomplexeZahl doDivision(KomplexeZahl number)
          Führt (laut Aufgabenstellung) mit der aufgerufenden [sic!]
 double imaginary()
          Zugriffsmethode für den Imaginärteil in imaginary.
 double real()
          Zugriffsmethode für den Realteil in real.
 void setImaginary(double imaginary)
          Zugriffsmethode; setzt den Imaginärteil in imaginary.
 void setReal(double real)
          Zugriffsmethode; setzt den Realteil in real.
 String toString()
          Gibt eine String-Repräsentation dieser komplexen Zahl zur&uum;ck.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

real

private double real
Realteil


imaginary

private double imaginary
Imaginärteil

Constructor Detail

KomplexeZahl

public KomplexeZahl(double real,
                    double imaginary)
Erstellt eine komplexe Zahl anhand von Realteil und Imaginärteil.

Parameters:
real - Realteil
imaginary - Imaginärteil
Method Detail

setReal

public void setReal(double real)
Zugriffsmethode; setzt den Realteil in real.

Parameters:
real - Der neue Realteil

setImaginary

public void setImaginary(double imaginary)
Zugriffsmethode; setzt den Imaginärteil in imaginary.

Parameters:
imaginary - Der neue Imaginärteil

real

public double real()
Zugriffsmethode für den Realteil in real.

Returns:
Den Realteil.

imaginary

public double imaginary()
Zugriffsmethode für den Imaginärteil in imaginary.

Returns:
Den Imaginärteil.

toString

public String toString()
Gibt eine String-Repräsentation dieser komplexen Zahl zur&uum;ck.

Overrides:
toString in class Object
Returns:
Einen String der Form "a + b*i", wobei a und b jeweils durch den Real- und den Imaginärteil ersetzt werden.

doAddition

public KomplexeZahl doAddition(KomplexeZahl summand)
Addiert die übergebe komplexe Zahl zu dieser. Die Addition komplexer Zahlen ist kommutativ.

Parameters:
summand - die zu addierende Zahl
Returns:
die Summe (also this)

divideBy

public KomplexeZahl divideBy(KomplexeZahl divisor)
Teilt diese Zahl durch die übergebene. Die Division komplexer Zahlen ist nicht kommutativ, weswegen a.divideBy(b) ein anderes Ergebnis hat als b.divideBy(a). In dieser Methode ist diese Zahl (this) der Divident und divisor ist der Divisor.

Parameters:
divisor - Der Divisor für diese Division.
Returns:
das Ergebnis der Division (also this)
Throws:
ArithmeticException - falls der Divisor gleich null ist.
See Also:
Komplexe Zahlen (Wikipedia)

doDivision

KomplexeZahl doDivision(KomplexeZahl number)
Führt (laut Aufgabenstellung) mit der aufgerufenden [sic!] eine Division [durch]. Da die Semantik der Division nicht definiert wird, wird hier willkürlich definiert, dass diese Zahl der Divident und die übergebene Zahl der Divisor ist.

Ist diese Zahl ungleich null, die übergebene Zahl aber gleich null, ist offensichtlich, dass diese Semantik falsch ist. In diesem Fall wird diese Zahl als Divisor und die übergebene Zahl als Divident angenommen; in diesem Fall ist also das Ergebnis null (0).

Ist sowohl diese Zahl als auch die übergebene Zahl gleich null, kann eine Divison, gleich welcher Richtung, nicht durchgeführt werden. In diesem Fall wird eine Ausnahme geworfen.

Returns:
das Ergebnis der Division (also this)
Throws:
ArithmeticException - falls der Divisor gleich null ist.