public Binaerdarstellungen(Ausgabe ausgabe, String darstellungsart, String type, String wert)
 {
     this.ausgabe = ausgabe;
     switch (darstellungsart) {
     case "betrag":
         this.dart = new Betragszahl ();
         break;
     case "festbetr":
         this.dart =  new Festkomma ();
         break;
     case "vorbetr":
         this.dart =  new Vorzeichenbetrag ();
         break;
     case "1er":
         this.dart =  new EinerKomp ();
         break;
     case "2er":
         this.dart =  new ZweierKomp ();
         break;
     default:
         break;
     }
     this.wert = wert;
     this.type = type;
 }
        public void convert(Ausgabe ausgabe)
        {
            ausgabe.clear ();
            Regex patter = new Regex ("[^A-Za-z0-9]");
            Boolean ok = patter.Match (this.zahl).Success;
            if (ok) {
                ausgabe.write ("Wrong Syntax");
                return;
            }
            Returnstack result;
            switch (legende [this.cto]) {

            case "bin":
                result = type.convertToBin (this.zahl);
                if (result.getSteps () != null) {
                    for (int i = 0; i< result.getSteps().Length; i++) {
                        ausgabe.writeLine (result.getSteps () [i]);
                    }
                }
                ausgabe.writeLine ("Ergebnis: " + result.getResult ());

                break;

            case "dez":
                result = type.convertToDez (this.zahl);
                if (result.getSteps () != null) {
                    for (int i = 0; i< result.getSteps().Length; i++) {
                        ausgabe.writeLine (result.getSteps () [i]);
                    }
                }
                ausgabe.writeLine ("Ergebnis: " + result.getResult ());
                break;

            case "hex":
                result = type.convertToHex (this.zahl);
                if (result.getSteps () != null) {
                    for (int i = 0; i< result.getSteps().Length; i++) {
                        ausgabe.writeLine (result.getSteps () [i]);
                    }
                }
                ausgabe.writeLine ("Ergebnis: " + result.getResult ());
                break;

            default:
                break;
            }
        }