我正在轉換我的Java程序中的二進制和十六進制。我能夠讀取一個二進制數,但如果我輸入更多,程序只會讀取最後一個二進制數並將其轉換爲十六進制數。如何讀取長二進制數並將其轉換爲十六進制數?像101000011010 這是我的代碼的一部分。謝謝。轉換二進制和十六進制沒有內置函數
public String binToHex() {
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"};
String result = " ";
Scanner num = new Scanner(System.in);
String userInput = num.next();
System.out.println("You entered " + userInput);
for(int i=0; i < userInput.length(); i++) {
if (!userInput.isEmpty()) {
///System.out.print("not empty");
temp = userInput.substring(i);
}
//System.out.print("temp: " + temp);
String temp2 = ""+temp+"";
//System.out.println("temp2 " + temp2);
for(int j=0; j < binary.length; j++) {
if(temp2.equals(binary[j])) {
//System.out.print("inside if");
result = result + hex[j];
//System.out.println("results: " + result);
}
}
}
System.out.println("Hex:" + result);
return result;
}
謝謝。這有助於。 – user1277281