Hexzahlen

Status
Nicht offen für weitere Antworten.
R

Reaper

Gast
Hallo arbeite gerade an einem Programm dass Dezimalzahlen in Hexzahlen ausgeben soll. Mache dass mit Arrays. Nun will es einfach nicht in meinen Kopf gehen wie man in einem Array Zahlen und Buchstaben speichern kann. Eigentlich ja unmöglich oder? Aber wie soll dann dass Programm funktionieren wenn ich mittels Array ausgeben will? Hab es auch schon mit 2 verschiedenen Arrays ausprobiert klappt aber irgendwie auch nicht siehe Versuch unten. Hab auch mal irgendwas gehört dass ich auf UNICODE Tabelle mittels Zahlen zugreifen kann. Ist das die Lösung? Und wenn wie?


Code:
class hex{

public static void main(String[] arg){

char ent;
char zs;
char j = 'b';
char o = 'o';
char h = 'h';
int d;
int zahl;
int index;
int n = 2;
int b =0;
char ch1 = 'A';


do{

IO.write("Geben Sie eine positive ganze Zahl ein: ");
zahl = IO.readInt();
IO.readLn();



IO.write("Geben Sie das Zielzahlensystem (b=binaer, o=oktal, h=hexadezimal): ");
zs = IO.read();
IO.readLn();

int zahl1 = zahl;




//hex

if (zs == h){
b = 16;
}

d = 0;
do{
zahl = zahl/2;
d++;
}while(zahl > 0);
//zahl <= 0


char[] hex = {'A','B','C','D','E','F'};

int[] kzahl = new int[d];
index = d - 1;


do{
	 kzahl[index] = zahl1 % b;

	 	      switch(zahl1 % b ){
			                             case 10: hex[1] = 10 ;
	 	 	 	 	break;
	 	 	 	 	/*case 11: IO.write('B');
	 	 	 	 	break;
	 	 	 	 	case 12: IO.write('C');
	 	 	 	 	break;
	 	 	 	 	case 13: IO.write('D');
	 	 	 	 	break;
	 	 	 	 	case 14: IO.write('E');
	 	 	 	 	break;
	 	 	 	 	case 15: IO.write('F');
	 	 	 	 	break;
	 	 	 */
//}

     zahl1 = zahl1/b;

     index = index - 1;

}while(zahl1 > 0 && index < d);
//zahl <= 0 %% index < d
for(int i = index+1; i <= (d-1); i++){
IO.write(kzahl[i]);
	}
for(int i = 0; i < 6; i++){
IO.write(hex[i]);
	}


IO.writeLn();         //Zeilenwechsel

IO.write("Noch eine Umwandlung? [j/n]: ");


ent = IO.read(); //Hier wird char gelesen aber nur wenn ich zuvor IO.readLn(); einegegeben habe
IO.readLn();



}while ((ent == 'J') || (ent == 'j')); //Hier wird darauf geachtet dass er das Programm solange
                                        //wiederholt bis man 'J' oder 'j' eingegeben hat -> dann
                                        //Bedingung erfüllt und das Programm wird beendet.

}
}


Edit von L-ectron-X: Code-Tags eingefügt.
 

Wildcard

Top Contributor
Verstehe nicht ganz warum du überhaupt ein Array brauchst!
Könnte natürlich an den fehlenden Code-Tags liegen :!:
Lies deine Zahl ein, rechne sie um, und bau einen String draus.
 

Grizzly

Top Contributor
Das mit der Umwandlung verstehe ich nicht ganz. Ist das Teil einer Aufgabe? Ansonsten verwende doch Integer.toHexString(int), Long.toHexString(long), usw..
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben