Ich habe mal das Problem Von Dezimal zu Binär als Anlass genommen und davon ein kleines Java-Programm geschrieben. Das Programm ist ziemlich einfach und wer sich schon ein wenig in Java auskennt, der sollte sich in dem Programm zurecht finden. Doch ich werde den Quelltext auch ein wenig erläutern.

Fangen wir mit der wichtigsten Funktion an:

public static String umwandeln(int n) {
String erg = “”;
do {
erg = erg + Integer.toString(n % 2);
n = n / 2;
} while(n != 0);
return erg;
}

Das Ergebnis geben wir als String zurück und daher speichern wir das Ergebnis auch als String. Dafür ist die Variable erg zuständig. Über den Parameter n haben wir eine Zahl zugewiesen bekommen. Zuerst schauen wir, was für ein Rest rauskommt, wenn wir durch zwei teilen (n % 2). Den fügen wir unserer Ergebnisvariable hinzu und dann teilen wir die Zahl durch zwei. Da n ein Integer ist – was ja heißt, dass nur ganze Zahlen gespeichert werden – fallen alle Nachkommastellen weg, was in diesem Fall ein ganz gut ist. Dieses Verfahren wird nun so lange durchgeführt, bis n Null ist. Danach bricht das Ganze ab und es wird ein String zurückgegeben. Doch ganz korrekt ist dieser nicht. Würde man nun z.B. 233 nehmen, dann würde 10010111 rauskommen, was nicht ganz richtig ist, wollen wir die kleinste Stellung der Zahl ganz rechts haben und die größte ganz links. Deswegen muss der String noch umgedreht werden.

public static String drehen(String s) {
String erg = “”;
char[] ch = s.toCharArray();
for(int i = ch.length – 1; i >= 0; i– ) {
erg = erg + ch[i];
}
return erg;
}

Diese Funktion dreht einen String um. Diese müssen wir oben noch hinzufügen, d.h. in der Funktion umwandeln steht dann am Schluss:

return drehen(erg);

Nun können wir die Funktion umwandeln getrost aufrufen und damit ein wenig spielen. Diese Funktion ist noch nicht ganz vollständig, da man noch prüfen muss, ist die Zahl größer oder kleiner als Null. Aber das könnt ihr nun als kleine Aufgabe sehen ;) .

Kommentar schreiben