ビット文字列の結果を16進文字列に変換しようとしていますが、何も印刷しません。言い換えれば、000110011101は "19d"を印刷する必要があります。私の一時変数は問題ですか?どのような援助のため、事前に私のビットストリングが16進数のストリングコードで結果を印刷しないのはなぜですか?
おかげで、これは私のコードです:
public static void BinaryToHex() {
Scanner scanner = new Scanner(System.in);
String bitString = "";
String hexString = "";
String[] hex = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C",
"D", "E", "F" };
String[] binary = { "0000", "0001", "0010", "0011", "0100", "0101", "0110",
"0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111" };
System.out.println("Enter a bit string: ");
bitString = scanner.next();
for (int i = 0; i < bitString.length(); i++) {
char temp = bitString.charAt(i);
String temp2 = "" + temp + "";
for (int j = 0; j < binary.length; j++) {
if (temp2.equalsIgnoreCase(binary[j])) {
hexString = hexString + hex[j];
}
}
}
System.out.print("The equivalent hex string is ");
System.out.println(hexString);
}
'のSystem.out.println(持つInteger.toString(Integer.parseInt( "000110011101"、2)、16));' –