Hallo,
ich hoffe ich kann mein Problem einigermaßen verständlich umschreiben.
Ich habe mir ein kleines Programm geschrieben, mit dem ich Dezimalzahlen in eine beliebige Basis umrechnen kann.
Den einzigen Stolperstein, den ich im Moment habe, wie bekomm ich bei Hexadezimalzahlen für die Zahlen 10 - 15 die Buchstaben A bis F angezeigt.
Bsp. Meine Ausgabe für 255 lautet 1515, müsste aber sein FF.
So sieht mein Code aus:
ich hoffe ich kann mein Problem einigermaßen verständlich umschreiben.
Ich habe mir ein kleines Programm geschrieben, mit dem ich Dezimalzahlen in eine beliebige Basis umrechnen kann.
Den einzigen Stolperstein, den ich im Moment habe, wie bekomm ich bei Hexadezimalzahlen für die Zahlen 10 - 15 die Buchstaben A bis F angezeigt.
Bsp. Meine Ausgabe für 255 lautet 1515, müsste aber sein FF.
So sieht mein Code aus:
Java:
import java.io.*;
import javagently.*;
class basis
{
public static void main (String Args[])
throws IOException
{
int zahl1 = 0;
int basis = 0;
int rest [] = new int[32];
int i = 0;
System.out.println("***************************************");
System.out.println("** Mit diesem Programm lassen sich **");
System.out.println("** Dezimalzahlen in eine beliebige **");
System.out.println("** Basis zwischen 2 und 16 umrechnen.**");
System.out.println("**-----------------------------------**");
System.out.println("** Geben Sie dazu im ersten Schritt **");
System.out.println("** eine Dezimalzahl ihrer Wahl ein. **");
System.out.println("** Danach bitte die gewünschte Basis **");
System.out.println("** in die Umgerechnet werden soll. **");
System.out.println("***************************************");
BufferedReader in =
new BufferedReader (
new InputStreamReader(System.in));
System.out.println("Bitte geben Sie Ihre Dezimalzahl ein:");
zahl1 = javagently.Text.readInt(in);
System.out.println("Sie haben die Zahl " +zahl1+ " gewählt");
System.out.println("");
System.out.println("In welche Basis soll die Zahl " +zahl1+ " umgerechnet werden");
System.out.println("Denken Sie bitte daran, es muss eine Zahl zwischen 2 und 16 sein");
basis = javagently.Text.readInt(in);
if (basis >= 2 && basis <=16) {
System.out.println("Die Dezimalzahl " +zahl1+ " wird jetzt umgerechnet in die Basis " +basis);
for (int j = 0;j<31 ;j++ ) {
rest[j] = 0;
} // end of for
while (zahl1 > 0) {
rest[i] = zahl1%basis;
zahl1/=basis;
i++;
}
System.out.println("Die umgerechnete Zahl in der Basis " +basis+ " lautet:");
for (int k= i-1;k>=0 ;k-- ) {
System.out.print(rest[k]);
} // end of for
}
else {
System.out.println("Das war leider nichts");
}
}
}