# Aus 1-zeichen langem String den ASCII-Code ermitteln?



## DataFox (15. Dezember 2007)

Hallo

Ich komme nicht weiter:


```
char x = 'K';
System.out.println((int) x);
```

das geht! Ich bekomme den Tastaturcode 75 zurück. 

Das dumme ist aber, das ich nur einen String habe. Der ist genau ein Zeichen lang.

Wie kann ich aus diesem String den Tastaturcode ermitteln? 
Man muss doch irgendwie den String in ein char und das char in ein int, oder?

Problem dabei ist: Ich brauche auch den Tastaturcode von Ziffern! Es bringt also nix, wenn ich einen String "9" konvertiere und ich dann halt ein int "9" habe.

Konnte in meinem 1300-Seiten-Buch nichts darüber finden wie ich den Tastaturcode bekomme.

Was ich machen will:
bei meinem Taschenrechner jeder Taste auf den Nummernblick ein 

```
this.setMnemonic(KeyEvent.VK_K);
```

zuweisen, wobei de Tasten aber in einer Schleife generiert werden und ich deshalb direkt den Tastaturcode an setMnemonic übergeben will. Die Konstante kann ich ja schlecht dynamisch zusammenbauen :/

hat jemand einen Tipp?

danke

Laura


----------



## RealHAZZARD (15. Dezember 2007)

hallo,

wie wäre es mit deinString.charAt(0) um es in einen char zu wandeln, und dann kannst du dein Beispiel anwenden.
Wobei ich aber nooch nicht ganz einsehe, was du da vor hast. Kannst du nicht einfach die Konstanten von KeyEvent nehmen?


----------



## DataFox (15. Dezember 2007)

na ja, es ist eine for-schleife, die für die zahlen 0 bis 9 Buttons erstellt. Also 10 Buttons. Ich will nicht ein riesiges If-Konstrukt da hin bauen. 

Habe es inzwischen hinbekommen, aber die Methode 


```
this.setMnemonic((byte)(num + '0'));
```

schluckt den ASCII-Code nicht :/

gruß
Laura


----------



## zeja (17. Dezember 2007)

setMnemonic braucht ja auch ein char und kein byte. Da du byte nimmst wird die Methode aufgerufen welche einen int erwartet... Also auf char casten und nicht auf byte!


----------

