数字系统代码中的Java数字格式异常错误

标签 java arrays hex decimal

我正在做一个java数字转换器,每当我尝试十六进制到十进制转换器时,它总是为我输入想要转换的内容提供一个java.lang.NumberFormatException。每当我输入字符串值(例如 ABC)时,控制台都会显示此错误。我将如何修复这个错误?错误发生在代码中的这一行:int intNum = Integer.valueOf(numHexadecimal);

public static void hexToDecimal() {

        System.out.println("Enter your hexadecimal number");
        numHexadecimal = input.next();
        hexArray = numHexadecimal.toCharArray();

            int intNum = Integer.valueOf(numHexadecimal);

            int counter = 0;

            String hexVal = "";

            int digit;

            digit = intNum % 16;

            switch (digit) {
            case 1:
                hexVal+="F"; break;
            case 2:
                hexVal+="E"; break;
            case 3:
                hexVal+="D"; break;
            case 4:
                hexVal+="C"; break;
            case 5:
                hexVal+="B"; break;
            case 6:
                hexVal+="A"; break;
            default:
                hexVal+=Integer.toString(digit);          
            }

            intNum = intNum/16;

            for (counter = hexVal.length()-1; counter >= 0; counter--)
                System.out.print(hexVal.charAt(counter));

        }

    }

最佳答案

如果你想解析十六进制数字,你必须使用 the two-parameters version of valueOf ,指定基数(16 为十六进制)作为第二个参数

int intNum = Integer.valueOf(numHexadecimal, 16);

关于数字系统代码中的Java数字格式异常错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59992018/

相关文章:

c - 关于 Kernighan 和 Ritchie 练习 2-3 的问题

将整数值转换为十六进制值

java转换UTF-8字符(è)问题

java - Spring data Jpa 与 Spring Jdbc 用于查找表

javascript - 对数组进行排序时删除重复项

javascript - javascript 中第一个数组元素未定义

java - cassandra 中的嵌套查询

java - 如何在运行时获取 Java 应用程序的 PID?

arrays - C如何将.txt文件的内容放入二维数组

java - 如何将十六进制颜色代码分配给java类文件中的任何数据类型