carookee - group communication for you
Home / JavaForum / Beginner
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.769 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 512 von 2963 (17%) |<   <   >   >|

Autor exi
Datum 24.11.05, 01:15
Betreff Re: int to hex


Hallo,


dein Problem entsteht, weil du innerhalb der Routine hex() mit int arbeitest und dich auf die java-internen Umwandlungen verläßt.

Die Anweisung int rest = 'A' gibt dir nicht den String "A", sondern wandelt das Character 'A' in eine int-Zahl um. Der ASCII-Wert dieses Characters sind die 65 die für dich überraschend aufgetreten sind.
(ASCII 0-47 sind Sonderzeichen, 48-57 sind die Ziffern, 58-64 sind Sonderzeichen, 65-90 sind die Großbuchstaben, dann Sonderzeichen bis 96, 97-122 sind die Kleinbuchstaben, danach Sonderzeichen bis 255)

Wenn du wie bisher nur die Dezimalzahlen 0 bis 15 eingeben möchtest, dann genügt es wenn du innerhalb der case-Bedingung ergebnis = "A", genauer für alle Fälle ="1", ="2", ..., ="A", ="B", ..., ="E" zuweist. Achte dabei darauf, daß hier Anführungszeichen und keine Hochkommas stehen! Deine derart korrigierte Funktion solltest du besser als
String HexZiffer(int zwischenwert)
benennen. Denn sie würde immer nur eine Ziffer (0-E) zurückliefern.

Wahrscheinlich hast du aber die Aufgabe beliebige Zahlen (im Bereich von int) in hexadezimale Zahlen zu wandeln. Ermittle also diejenige Potenz von 16 die kleiner, höchstens gleich, deiner eingegebenen Zahl ist. Eröffne eine Wiederholungsschleife von dieser Potenz bis null. Hierin ermittelst du wie oft 16 hoch Schleifenindex in die Zahl hinein passt. Und lasse dir die zugehörige HexZiffer() geben. Mindere dann die Zahl um das Vielfache der 16er-Potenz und fahre mit dem nächstkleineren Index fort. Die einzelnen HexZiffern sammelst du dann in einem String ergebnis, den du nach Abschluß der Schleife ausgibst.

tschüs
exi


Diskussionsverlauf:
    Re: int to hex
    Re: int to hex
    Re: int to hex
int to hex

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com