Umwandlung eines Binärstrings in einen Hexadezimalstring JAVA

Ich möchte meine Binärdatei (die sich in einer Zeichenfolge befindet) auch in eine hexadezimale Zeichenfolge konvertieren. Dies ist nur ein Programmfragment, da dieses Programm nur ein Teil eines anderen größeren Programms ist:

//the variable name of the binary string is: "binary"
int digitNumber = 1;
    int sum = 0;
    int test = binary.length()%4;
    if(test!=0) {
        binary = padLeft(binary, test);
    }
    for(int i = 0; i < binary.length(); i++){
        if(digitNumber == 1)
            sum+=Integer.parseInt(binary.charAt(i) + "")*8;
        else if(digitNumber == 2)
            sum+=Integer.parseInt(binary.charAt(i) + "")*4;
        else if(digitNumber == 3)
            sum+=Integer.parseInt(binary.charAt(i) + "")*2;
        else if(digitNumber == 4 || i < binary.length()+1){
            sum+=Integer.parseInt(binary.charAt(i) + "")*1;
            digitNumber = 0;
            if(sum < 10)
                System.out.print(sum);
            else if(sum == 10)
                System.out.print("A");
            else if(sum == 11)
                System.out.print("B");
            else if(sum == 12)
                System.out.print("C");
            else if(sum == 13)
                System.out.print("D");
            else if(sum == 14)
                System.out.print("E");
            else if(sum == 15)
                System.out.print("F");
            sum=0;
        }
        digitNumber++;  
    }
    public static String padLeft(String s, int n) {
        return String.format("%0$"+n+"s", s);
    }//i added this for padding

das Problem ist, dass ich nicht weiß, ob das Auffüllen funktioniert, aber ich bin sicher, dass dieses Programm eine falsche hexadezimale Konvertierung der Binärzeichenfolge zurückgibt, die ich versuche, dies zu tun:

http: //www.wikihow.com/Convert-Binary-to-Hexadecima

PS: Ich muss es implementieren (keine eingebaute Funktion verwenden)

Antworten auf die Frage(6)

Ihre Antwort auf die Frage