Ich muss Hexadezimal in Dezimalzahlen umwandeln und andersrum.
Den Code für Dez in Hex habe ich, jetzt dachte ich dass es wohl kein so großes Problem sein kann es andersrum auch zu schreiben, war wohl nicht so...
Meine erste for Schleife ist falsch, allerdings habe ich kein Ahnung wie ich es schreiben sollte. Ich habe oben mit 0en aufgefüllt, damit ich immer 4er Pakete habe zum umformen, allerdings weiß ich nicht, wie ich einen String mit 4 Zeichen in meine char temp bekommen kann!
Wäre klasse wenn jemand mit helfen könnte!
Den Code für Dez in Hex habe ich, jetzt dachte ich dass es wohl kein so großes Problem sein kann es andersrum auch zu schreiben, war wohl nicht so...
Java:
import java.util.Scanner;
public class Aufgabe41 {
public static void main(String[] args) {
int x;
String[] hex = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A",
"B", "C", "D", "E", "F" };
String[] bin = { "0000", "0001", "0010", "0011", "0100", "0101",
"0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101",
"1110", "1111" };
Scanner s = new Scanner(System.in);
System.out.println("Geben Sie eine Hexadezimalzahl ein : ");
String eingabe = s.next();
String ergebnis= "";
x = eingabe.length()%4;
switch (x){
case 0:
eingabe = eingabe;
break;
case 1:
eingabe = "000" + eingabe;
break;
case 2:
eingabe = "00" + eingabe;
break;
case 3:
eingabe = "0" + eingabe;
break;
}
for (int i = 4; i < eingabe.length(); i= i+4) {
char temp = eingabe.charAt(i);
String temp2 = "" + temp + "";
for (int j = 0; j < bin.length; j++) {
if (temp2.equalsIgnoreCase(bin[j])) {
ergebnis= ergebnis+ hex[j];
}
}
}
System.out.println("In binär : " + ergebnis);
}
}
Meine erste for Schleife ist falsch, allerdings habe ich kein Ahnung wie ich es schreiben sollte. Ich habe oben mit 0en aufgefüllt, damit ich immer 4er Pakete habe zum umformen, allerdings weiß ich nicht, wie ich einen String mit 4 Zeichen in meine char temp bekommen kann!
Wäre klasse wenn jemand mit helfen könnte!
Zuletzt bearbeitet: