001 package de.hska.java.aufgaben.interfaces;
002
003 /**
004 * Implementierung einer KomplexenZahl mit je einem double-Wert
005 * für den Real- und dem Imaginärteil.
006 *
007 * <p>
008 * <a href="http://www.home.hs-karlsruhe.de/~pach0003/informatik_1/aufgaben/interfaces.html#komplexezahl">Zurück zum Aufgabentext</a>
009 * </p>
010 *
011 *
012 * @author Christian Pape
013 *
014 */
015 public class KomplexeZahlKartesisch implements KomplexeZahl {
016
017 private double realTeil;
018
019 private double imaginaerTeil;
020
021 public KomplexeZahlKartesisch(double realTeil, double imaginaerTeil) {
022 this.realTeil = realTeil;
023 this.imaginaerTeil = imaginaerTeil;
024 }
025
026 public double getImaginaerteil() {
027 return imaginaerTeil;
028 }
029
030 public double getRealteil() {
031 return realTeil;
032 }
033
034 public KomplexeZahl addieren(KomplexeZahl zahl) {
035 return new KomplexeZahlKartesisch(zahl.getRealteil() + realTeil,
036 zahl.getImaginaerteil() + imaginaerTeil);
037
038 }
039
040 public KomplexeZahl multiplizieren(KomplexeZahl zahl) {
041 return new KomplexeZahlKartesisch(
042 realTeil * zahl.getRealteil() - imaginaerTeil * zahl.getImaginaerteil(),
043 realTeil * zahl.getImaginaerteil() + zahl.getRealteil() * imaginaerTeil);
044 }
045
046 }