내 Bit String to Hex String 코드가 결과를 인쇄하지 않는 이유는 무엇입니까?

땅콩 칼로 타

비트 문자열의 결과를 16 진수 문자열로 변환하려고하지만 아무것도 인쇄하지 않습니다. 즉, 000110011101은 "19d"를 인쇄해야합니다. 내 임시 변수가 문제입니까?

도움을 주셔서 미리 감사드립니다. 이것은 내 코드입니다.

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);
}
Sanket Makani
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];
            }
        }
    }

이 루프에서 한 번에 하나의 bitString 문자를 가져 와서 length 입력이 모두있는 binary [] 배열의 입력과 비교하려고합니다 4. 그래서 기본적으로 1길이 요소와 4결코 사실이 아닐 길이 요소 를 비교하려고 합니다.

따라서 HexString은 절대 변경되지 않고 초기화 한 것과 동일하게 인쇄되므로 코드를 실행하는 동안 아무것도 얻지 못합니다.

4길이 가있는 bitString의 하위 문자열을 가지고 temp2에 저장하면이 코드가 작동하며 모든 4비트에 대해 HexCharacter가 있으므로 1 비트 숫자를 이진수로 만들 수 없습니다.

그래서 당신의 논리에 따라, bitString length의 배수이어야한다 4, 그렇지 않으면에서 진수 문자를 해당 제공하지 않습니다 hex배열입니다.

코드의 for 루프를 이것으로 바꿉니다.

if(bitString.length()%4!=0)
    System.out.println("Please Enter Valid Input.");
else
{
    for (int i = 0; i < bitString.length()/4; i++) 
    {
        String temp2 = bitString.substring(4*i,4*(i+1));
        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);
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

내 코드가 올바른 최소 차이를 인쇄하지 않는 이유는 무엇입니까?

분류에서Dev

std :: string의 Sizeof 연산자가 예기치 않은 결과를 생성하는 이유는 무엇입니까?

분류에서Dev

내 var를 할당했지만 String.IsNullOrEmpty가 컴파일되지 않는 이유는 무엇입니까?

분류에서Dev

내 파이썬 코드가 "기능"과 많은 숫자를 인쇄하는 이유는 무엇입니까?

분류에서Dev

내 코드의 함수로 인쇄 할 때 포인터를 직접 인쇄하면 다른 결과가 나타나는 이유는 무엇입니까?

분류에서Dev

내 코드가 아무 것도 인쇄하지 않는 이유는 무엇입니까?

분류에서Dev

내 함수가 내 dString 변수를 인쇄하지 않는 이유는 무엇입니까?

분류에서Dev

String. ()-> Unit이 내 코드에서 (String)-> Unit과 동일한 이유는 무엇입니까?

분류에서Dev

코드가 String.class의 indexOf () 메소드를 이렇게 작성하는 이유는 무엇입니까?

분류에서Dev

내 SIGPIPE가 메시지를 인쇄하지 않는 이유는 무엇입니까?

분류에서Dev

내 코드가 출력을 인쇄하지 않는 이유는 무엇입니까?

분류에서Dev

내 코드가 동일한 명령 줄 인수를 두 번 인쇄하는 이유는 무엇입니까?

분류에서Dev

내 HTML 코드가 내 js를 무시하는 이유는 무엇입니까?

분류에서Dev

내 코드가 변수 값이 아닌 텍스트를 인쇄하는 이유는 무엇입니까?

분류에서Dev

내 코드가 평균 결과가 올바르지 않은 이유는 무엇입니까?

분류에서Dev

Visual Studio 코드가 내 코드를 실행하지 않는 이유는 무엇입니까?

분류에서Dev

내 OSGI 예제가 번들 시작시 "Hello World"를 인쇄하지 않는 이유는 무엇입니까?

분류에서Dev

인쇄 메시지가 내 C # 코드에 인쇄되지 않는 이유는 무엇입니까?

분류에서Dev

스칼라 : 코드가 List [String]이 아닌 List [Any]를 반환하는 이유는 무엇입니까?

분류에서Dev

내 코드가 그렇게 많은 수를 인쇄하는 이유는 무엇입니까?

분류에서Dev

내 코드가 모든 숫자를 인쇄하는 이유는 무엇입니까?

분류에서Dev

이 string.punctuation 코드가 구두점 제거에 작동하지 않는 이유는 무엇입니까?

분류에서Dev

String.Format :이 코드가 작동하지 않는 이유는 무엇입니까?

분류에서Dev

다음 C 코드는 왜 int 45의 경우 45를 인쇄하고 STRING의 경우 36, CHAR의 ASCII 값을 인쇄하는 이유는 무엇입니까?

분류에서Dev

내 PHP 코드가 내 이메일로 신청서를 제출하지 않는 이유는 무엇입니까?

분류에서Dev

String.Prototype replace가 중첩 함수 내에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

목록을 인쇄 할 때 오류가 발생하지 않으면 IndexError : string index가 범위를 벗어난 이유는 무엇입니까?

분류에서Dev

copy_to_user가 올바른 결과를 인쇄하지 않는 이유는 무엇입니까?

분류에서Dev

VS 코드 : Shift + Enter가 Python Interactive로 코드를 보내지 않는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    내 코드가 올바른 최소 차이를 인쇄하지 않는 이유는 무엇입니까?

  2. 2

    std :: string의 Sizeof 연산자가 예기치 않은 결과를 생성하는 이유는 무엇입니까?

  3. 3

    내 var를 할당했지만 String.IsNullOrEmpty가 컴파일되지 않는 이유는 무엇입니까?

  4. 4

    내 파이썬 코드가 "기능"과 많은 숫자를 인쇄하는 이유는 무엇입니까?

  5. 5

    내 코드의 함수로 인쇄 할 때 포인터를 직접 인쇄하면 다른 결과가 나타나는 이유는 무엇입니까?

  6. 6

    내 코드가 아무 것도 인쇄하지 않는 이유는 무엇입니까?

  7. 7

    내 함수가 내 dString 변수를 인쇄하지 않는 이유는 무엇입니까?

  8. 8

    String. ()-> Unit이 내 코드에서 (String)-> Unit과 동일한 이유는 무엇입니까?

  9. 9

    코드가 String.class의 indexOf () 메소드를 이렇게 작성하는 이유는 무엇입니까?

  10. 10

    내 SIGPIPE가 메시지를 인쇄하지 않는 이유는 무엇입니까?

  11. 11

    내 코드가 출력을 인쇄하지 않는 이유는 무엇입니까?

  12. 12

    내 코드가 동일한 명령 줄 인수를 두 번 인쇄하는 이유는 무엇입니까?

  13. 13

    내 HTML 코드가 내 js를 무시하는 이유는 무엇입니까?

  14. 14

    내 코드가 변수 값이 아닌 텍스트를 인쇄하는 이유는 무엇입니까?

  15. 15

    내 코드가 평균 결과가 올바르지 않은 이유는 무엇입니까?

  16. 16

    Visual Studio 코드가 내 코드를 실행하지 않는 이유는 무엇입니까?

  17. 17

    내 OSGI 예제가 번들 시작시 "Hello World"를 인쇄하지 않는 이유는 무엇입니까?

  18. 18

    인쇄 메시지가 내 C # 코드에 인쇄되지 않는 이유는 무엇입니까?

  19. 19

    스칼라 : 코드가 List [String]이 아닌 List [Any]를 반환하는 이유는 무엇입니까?

  20. 20

    내 코드가 그렇게 많은 수를 인쇄하는 이유는 무엇입니까?

  21. 21

    내 코드가 모든 숫자를 인쇄하는 이유는 무엇입니까?

  22. 22

    이 string.punctuation 코드가 구두점 제거에 작동하지 않는 이유는 무엇입니까?

  23. 23

    String.Format :이 코드가 작동하지 않는 이유는 무엇입니까?

  24. 24

    다음 C 코드는 왜 int 45의 경우 45를 인쇄하고 STRING의 경우 36, CHAR의 ASCII 값을 인쇄하는 이유는 무엇입니까?

  25. 25

    내 PHP 코드가 내 이메일로 신청서를 제출하지 않는 이유는 무엇입니까?

  26. 26

    String.Prototype replace가 중첩 함수 내에서 작동하지 않는 이유는 무엇입니까?

  27. 27

    목록을 인쇄 할 때 오류가 발생하지 않으면 IndexError : string index가 범위를 벗어난 이유는 무엇입니까?

  28. 28

    copy_to_user가 올바른 결과를 인쇄하지 않는 이유는 무엇입니까?

  29. 29

    VS 코드 : Shift + Enter가 Python Interactive로 코드를 보내지 않는 이유는 무엇입니까?

뜨겁다태그

보관