Für jeden Buchstaben eine Zahl

JuriW

Aktives Mitglied
Hallo zusammen.
Ich habe einen Algorithmus geschrieben, der jedem Großbuchstaben eine Zahl zuweißt. A = 1, B = 2, C = 3, D = 4, usw... .

Mein Code sieht so aus
Java:
public class Playground2 {

    public static void main(String[] args) {

        String str = "ABZ";    //1 2 26
        char[] a = str.toCharArray();
 
        char[] chars = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
                'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
      
         int[] ints = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26};

        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < chars.length; j++) {
                if (a[i] == chars[j]) {
                    String temp = String.valueOf(a[i]);
                    String s = Integer.toString(ints[j]);
                    temp = s;
                    System.out.print(temp + " ");
                }
            }
        }
    }
}

Ich habe die Vermutung, dass das nicht die eleganteste Lösung ist.
Habt ihr Vorschläge, wie man das kürzer lösen kann?
 
Zuletzt bearbeitet:
Wenn man über die ASCII-Zeichen-Tabelle geht ist es einfacher.
Java:
String word = "HELLO";
for(char letter : word.toCharArray()) {
    System.out.println(String.format("Buchstabe: %c Wert: %d", letter, (letter - 64)));
}

Ausgabe:
Code:
Buchstabe: H Wert: 8
Buchstabe: E Wert: 5
Buchstabe: L Wert: 12
Buchstabe: L Wert: 12
Buchstabe: O Wert: 15
 

Neue Themen


Zurück
Oben