Java 将小十六进制字符串转换为整数

Java 将小十六进制字符串转换为整数,java,integer,hex,converter,decoding,Java,Integer,Hex,Converter,Decoding,我正在尝试将一小串十六进制数转换成一个整数数组,直到现在还不是很成功。我曾试图在多个网站上找到这样的问题,但大多数网站都认为十六进制数太大,而这里的情况并非如此。当前代码: static String decode(String message) { int indexC = 0; int asciiCode = 0; String [] codeArray = message.split(" "); int [] asciiArr

我正在尝试将一小串十六进制数转换成一个整数数组,直到现在还不是很成功。我曾试图在多个网站上找到这样的问题,但大多数网站都认为十六进制数太大,而这里的情况并非如此。当前代码:

static String decode(String message) {
        int indexC = 0;
        int asciiCode = 0;
        String [] codeArray = message.split(" ");
        int [] asciiArray = new int[4];

        while (indexC < codeArray.length){
            asciiCode = Integer.parseInt(codeArray[indexC]);
            asciiArray[indexC] = asciiCode;
        }
            for (int i = 0; i < asciiArray.length; i++){
        System.out.println(asciiArray[i]);  
            }
    }
静态字符串解码(字符串消息){
int indexC=0;
int ASCICODE=0;
String[]codeArray=message.split(“”);
int[]asciiArray=新int[4];
while(indexC
我确实得到了system.out.println的一个结果,但它打印的不是我期望的4个数字,而是我开始使用的相同(十六进制)数字(在本例中:44 74 71 20)

我不允许包含额外的库或包,我只能使用我自己创建的代码和类。我的代码的要点是获取十进制值。println只是为了检查我得到了什么(但是如果有人知道如何正确打印那行,请也回复;)


(更多的背景信息:我正在为文本构建一个简单的加密程序,我正在开发解码器,我需要连接到十六进制数字的ascii值)

[I@221a5d08
是数组对象本身的字符串表示形式,而不是数组的内容

如果要打印其内容,请使用:

System.out.println(Arrays.toString(asciiArray));

如果不允许使用此方法,可以实现一个简单的for循环:

for(int i = 0; i < asciiArray.length; i++)
    System.out.print(asciiArry[i]);
for(int i=0;i
您正在打印数组的地址,这是一个常见错误。请改用
System.out.println(Arrays.toString(asciiArray))

您需要为转换方法提供基数(十六进制为16),因此需要更改此行

asciiCode = Integer.parseInt(codeArray[indexC]);


得到相同数字的原因是,如果不提供基数,则默认值为10。

执行此操作时,我会收到一个错误消息“数组无法解析”。执行此操作时,我会收到一个错误消息“数组无法解析”@user2984993添加导入
java.util.Arrays
很抱歉,我不允许这样做,我只允许使用提供的库…我将把它添加到由谁提供的问题中?这是一个标准javalibrary@user2984993如果不能这样做,则循环遍历数组并打印出值:
for(int index=0;index
或其一些变体这不是完整的代码,只是我认为稍微相关,如果您认为查看完整代码有用,我可以上传它。因此解决方案是放置“16”在我的变量后面。你太棒了,这帮了大忙…它实际上修复了整个代码!
asciiCode = Integer.parseInt(codeArray[indexC], 16);