G
Guest
Gast
Hallo!
Hab folgendes Problem. Soll Dezimalzahlen in andere Zahlenformate konvertieren. Die Berechnung hab ich hinbekommen, bloß mit der Ausgabe klappts net so richtig. Die Zahlen werden verkehrt ausgegeben, nämlich genau in der Reihenfolge, wie sie berechnet werden.
mfg
ck
Hab folgendes Problem. Soll Dezimalzahlen in andere Zahlenformate konvertieren. Die Berechnung hab ich hinbekommen, bloß mit der Ausgabe klappts net so richtig. Die Zahlen werden verkehrt ausgegeben, nämlich genau in der Reihenfolge, wie sie berechnet werden.
Code:
public class Zahlenkonvertierung_neu {
public static void main(String[] args) {
char janein;
do {
int DEZ; //Dezimalzahl
IO.write("Geben Sie eine positive Zahl ein:");
DEZ = IO.readInt(); // Zahl einlesen
IO.readLine();
char E; // Eingabe
IO.write("Geben Sie das Zielzahlensystem (b=binaer, o=oktal, h=hexadezimal) an:");
E = (char) IO.read(); //Buchstabe einlesen
if(E == 'o'){
IO.write("Die Zahl "+DEZ+" ergibt als Oktalzahl: ");
IO.readLine();
while(DEZ > 0){
switch (DEZ%8){
case 0: IO.write("0"); break;
case 1: IO.write("1"); break;
case 2: IO.write("2"); break;
case 3: IO.write("3"); break;
case 4: IO.write("4"); break;
case 5: IO.write("5"); break;
case 6: IO.write("6"); break;
case 7: IO.write("7"); break;
}
DEZ = (DEZ/8);
}
}
if(E == 'b'){
IO.write("Die Zahl "+DEZ+" ergibt als Binaerzahl: ");
IO.readLine();
while(DEZ > 0){
switch (DEZ%2){
case 0: IO.write("0"); break;
case 1: IO.write("1"); break;
}
DEZ = (DEZ/2);
}
}
if(E == 'h'){
IO.write("Die Zahl "+DEZ+" ergibt als Hexadezimalzahl: ");
IO.readLine();
while(DEZ > 0){
switch (DEZ%16){
case 0: IO.write("0"); break;
case 1: IO.write("1"); break;
case 2: IO.write("2"); break;
case 3: IO.write("3"); break;
case 4: IO.write("4"); break;
case 5: IO.write("5"); break;
case 6: IO.write("6"); break;
case 7: IO.write("7"); break;
case 8: IO.write("8"); break;
case 9: IO.write("9"); break;
case 10: IO.write("A"); break;
case 11: IO.write("B"); break;
case 12: IO.write("C"); break;
case 13: IO.write("D"); break;
case 14: IO.write("E"); break;
case 15: IO.write("F"); break;
}
DEZ = (DEZ/16);
}
}
IO.readLine();
IO.write("Noch eine Umwandlung? [j/n]:");
do {
janein = IO.read();
}
while (janein != 'J' && janein != 'j' && janein != 'N' && janein != 'n');}
while (janein == 'J' || janein == 'j');
}
}
mfg
ck