Hallo,
ich muss eine ganze Zahl mithilfe einer rekursiven Methode in ihre jeweilige hexadezimale Notation umwandeln (also ohne API-Methode). Das funktioniert mit folgendem Code auch sehr gut:
Mein Problem ist aber, dass ich es nicht schaffe, dass die Methode bei einer 0 als Eingabe auch 0 als Ergebnis zurückliefert. Alle anderen Zahlen werden korrekt umgewandelt. Wenn ich (if n == 0).. entferne wird immer ein String mit einer 0 vorne zurückgeliefert (also z.B. (324)[SUB]10[/SUB] = (0144)[SUB]16[/SUB]).
Jemand eine Idee wie ich das umgehen kann?
Vielen Dank im Voraus!
ich muss eine ganze Zahl mithilfe einer rekursiven Methode in ihre jeweilige hexadezimale Notation umwandeln (also ohne API-Methode). Das funktioniert mit folgendem Code auch sehr gut:
Java:
public class Hexa {
private static String zahlInHex(int n) {
String hex = "";
int i = 0;
if (n == 0) {
return hex;
} else {
if ((n % 16) == 10) {
hex = "A";
} else if ((n % 16) == 11) {
hex = "B";
} else if ((n % 16) == 12) {
hex = "C";
} else if ((n % 16) == 13) {
hex = "D";
} else if ((n % 16) == 14) {
hex = "E";
} else if ((n % 16) == 15) {
hex = "F";
} else {
i = (n % 16);
hex += i;
}
return zahlInHex(n / 16) + hex;
}
}
public static void main(String[] args) {
System.out.println(zahlInHex(324));
}
}
Jemand eine Idee wie ich das umgehen kann?
Vielen Dank im Voraus!
Zuletzt bearbeitet: