Hilfsmethode if return funktioniert nicht

JD_1998

Mitglied
Nabend,

gerade beschäftige ich mich mit einem HexToDec Converter. So sieht mein Unfug aktuell aus. Ziel ist es, den eingegebenen Char in Dezimal umzuwandeln und auszugeben. return 123 ist nur ein Filler. Doch egal welcher Char eingegeben wird, es wird immer 123 ausgegeben. Die if Anweisung greift nicht. Ich vermute, dass der eingelesene Char aus der convertHexToDec Methode nicht in die convertToNumber Methode übertragen wird. Hoffe auf hilfreiche Antworten.

Java:
public static void convertHexToDec0() {

    System.out.print("Please provide a hexadecimal number (e.g. 1f): ");
    int result = 0;

    char ch = Terminal.readChar();

    while (ch != '\n') {
        int code = ch;
        System.out.println(ch + " -> " + code);
        ch = Terminal.readChar();
    }
    result = convertToNumber(ch);

    System.out.println("Corresponding decimal number: " + result);
}

public static int convertToNumber(char ch) {

    if (ch >= '0' && ch <= '9') {
       return ch - '0';
    }
    else {
       return 123;
    }
}
 
Java:
    while (ch != '\n') {
        int code = ch;
        System.out.println(ch + " -> " + code);
        ch = Terminal.readChar();
    }
    result = convertToNumber(ch);
Ich vermute die untere Zeile soll in die Schleife. (Und irgendwas mit Result gemacht werden)
Die Schleife wird abgebrochen wenn in ch der Zeilenumbruch gespeichert ist. Dann wird dieser Zeilenumbruch an die Convert Methode übergeben. Da kommt dann natürlich 123 raus 🙂
 
Java:
    while (ch != '\n') {
        int code = ch;
        System.out.println(ch + " -> " + code);
        ch = Terminal.readChar();
    }
    result = convertToNumber(ch);
Ich vermute die untere Zeile soll in die Schleife. (Und irgendwas mit Result gemacht werden)
Die Schleife wird abgebrochen wenn in ch der Zeilenumbruch gespeichert ist. Dann wird dieser Zeilenumbruch an die Convert Methode übergeben. Da kommt dann natürlich 123 raus 🙂
Yep, die untere Zeile sollte in die Schleife. Habs hinbekommen, vielen Dank. Manchmal sieht man den Wald vor lauter Bäumen nicht^^
 

Zurück
Oben