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    }