001 package de.hska.java.aufgaben.interfaces;
002
003 /**
004 * Eine positive ganze Dezimalzahl mit (fast)
005 * beliebig vielen Dezimalstellen.
006 *
007 * <p>
008 * <a href="http://www.home.hs-karlsruhe.de/~pach0003/informatik_1/aufgaben/interfaces.html#dezimalzahl">Zurück zum Aufgabentext</a>
009 * </p>
010 *
011 * @author Christian Pape
012 *
013 */
014 public interface Dezimalzahl {
015
016 /**
017 * Gibt den Wert dieser Dezimalzahl als double-Wert zurück.
018 * Bei großen Dezimalzahlen kann dabei Genauigkeit verloren gehen.
019 * Die Größenordnung bleibt erhalten.
020 */
021 public double getDouble();
022
023 /**
024 * Addiert diese Dezimalzahl zur <code>zahl</code> und
025 * gibt die Summe als neue Dezimalzahl zurück.
026 */
027 public Dezimalzahl addieren(Dezimalzahl zahl);
028
029 /**
030 * Multipliziert diese Dezimalzahl zur <code>zahl</code> und
031 * gibt das Produkt als neue Dezimalzahl zurück.
032 */
033 public Dezimalzahl multiplizieren(Dezimalzahl zahl);
034
035 /**
036 * Gibt die Anzahl Ziffern zurück.
037 */
038 public int getAnzahlZiffern();
039
040 /**
041 * Gibt die Ziffer an Stelle i zurück, wobei
042 * i = 0, 1, ... getAnzahlZiffern() - 1 ist.
043 */
044 public byte getZiffer(int i);
045 }