Wert eines Arrays einer Variable zuweisen, sobald der Wert eines anderen Arrays eintritt

JuriW

Aktives Mitglied
Guten Abend miteinander.
Ich habe in einem Teil meines Codes eine Umwandlung von einer int Zahl (0-15) in ein char vorgesehen, also sozusagen eine Dezimal- Hexdezimalumwandlung der ersten Ziffern des Hexadezimalsystems. Wenn ich alle if-Anweisungen einzeln ausschreibe, stimmt die Ausgabe mit den Tests überein.
Code:
char c = ' ';
        if (prüfZ == hexZahlen[0]) {
            c = '0';
        } else if (prüfZ == hexZahlen[1]) {
            c = '1';}
usw. bis
Code:
c = 'F';

Da dies aber sehr ungenerisch ist, habe ich mir überlegt dies mit 2 Arrays und 2 For-Schleifen zu probieren.
Code:
int checkNum = prüfung % 16;
        int[] numbers = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
        char[] hexChars = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
        char c = ' ';
        for (int i = 0; i < numbers.length; i++) {
            for (int j = 0; j < hexChars.length; j++) {
            if (checkNum == numbers[i]) {
                    c = hexChars[j];
                }
            }
        }
Meine Logik dabei: Die if-Anweisung soll prüfen ob im ersten Fall das int 0 ist, falls ja soll 0 zugewiesen werden.
Die Ergebnisse stimmen leider nicht, es kommt am Ende immer F raus.
Wo habe ich hier meinen Denkfehler?
Beste Grüße, Juri
 

Zurück
Oben