import java.applet.Applet;
import java.awt.*;

public class aufgabe42 extends Applet
{
    TextField eingabe;
    Label eingabefenster;
    Label binlab;
    Label hexlab;
    Label octallab;
    
   public void init()
   {
        setSize(400,400);
        setVisible(true);        
        GridLayout Layout = new GridLayout(18 , 1);
        setLayout(Layout);
        eingabefenster = new Label("Bitte Nat-Zahl eingeben und  [Berechnen] drücken:");
        eingabe = new TextField("", 10);
        binlab = new Label();
        octallab = new Label();
        hexlab = new Label();
        add(eingabefenster);
        add(eingabe);
        add(new Button("Berechnen"));
        add(binlab);
        add(octallab);
        add(hexlab);
    }
    
     public boolean action(Event evt, Object arg)
    {
        if(evt.target instanceof Button)
            berechnen();
        return true;
    }

public void berechnen()
    {
        String stringzahl;
        int zahl;
        String ergbin;
        String ergoct;
        String erghex;
            stringzahl = eingabe.getText();
            zahl=Integer.parseInt(stringzahl);
            ergbin = toDual(zahl);
            ergoct = toOctal(zahl);
            erghex = toHex(zahl);    
                
        binlab.setText("Ergebnis binär : " + ergbin);
        octallab.setText("Ergebnis oktal : " + ergoct);
        hexlab.setText("Ergebnis hexadezimal : " + erghex);
    }

   static String convert(int basis , int zahl)
    {
        int rest;
        String ergebnis=""; 
        String ziffer[]={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
    
         do {
            rest = zahl%basis;
            ergebnis = ziffer[rest] + ergebnis; 
            zahl = zahl/basis;
        }
        while (zahl>0);
        return ergebnis;
    }
    static String toHex(int zahl) //Methode toHex
    {
        return(convert(16,zahl));
    }
    static String toOctal(int zahl) //Methode toOctal
    {
        return(convert(8,zahl));
    }
    static String toDual(int zahl) //Methode toDual
    {
        return(convert(2,zahl));
    }
 }