簡體   English   中英

十進制到十六進制轉換(Java)

[英]Decimal to Hex Conversion (Java)

我寫了以下代碼將十進制轉換為十六進制:

System.out.println("The decimal number you enter will be converted to its hexadecimal equivalent.");

    System.out.println("Please enter a decimal number: ");

    Scanner keyboard = new Scanner(System.in);

    int dec = keyboard.nextInt();

    int input = dec;

    String hex = "";

    char dig[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

    while(dec > 0)
    {
        input = dec%16;

        hex = dig[input] + hex;

        dec = dec / 16;
    }

    System.out.println("The decimal number you entered, " + input + " is " + hex + " in hexadecimal.\n");

轉換效果很好,但是輸出,特別是十進制輸入應該不正確的地方。 我知道這是因為我正在修改while循環中的值,並且我敢肯定這是一個簡單的解決方法,但是我一生都無法弄清楚如何保留代碼(大部分情況下)並顯示輸入的原始十進制值。 朝正確方向輕推(我不在尋找答案)將不勝感激。

您在計算期間已經修改了input ,因此它不再代表輸入的內容。 為用戶輸入的內容保留另一個不會被修改的變量,並在println語句中使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM