将由空格分隔的字符串值(由整数组成)存储到java中的字节数组中

时间:2016-03-26 19:16:14

标签: java arrays

我正在编写一个java程序,我需要将字符串的值存储到字节数组中(整数值以字符串分隔,以空格分隔)。有谁可以帮我解决这个问题。

例如:

输入:     String str =" 71 17 -93 -104&#34 ;;

必需输出:

// Byte array variable, byte[] myByte

myByte[0] = 71,

myByte[1] = 17,

myByte[2] = -93,

myByte[3] = -104

但是我已经将字符串值存储在整数数组中,但是我很难将其存储在字节数组中。 我用来存储整数数组中String值的代码:

       `String numbers = "71 17 -93 -104";
        String[] nums = numbers.split(" ");
        for(int i=0; i< nums.length; i++)
        {
            System.out.println(nums[i]); 
        }
        int StrArrLen = nums.length;
        int[] myArray = new int[StrArrLen];
        for(int i=0; i< StrArrLen; i++)
        {
            myArray[i] = Integer.parseInt(nums[i]); 
        }
        System.out.println("\nResult:");
        for(int i=0; i< StrArrLen; i++)
        {
            System.out.println(myArray[i]); 
        }`

此致

1 个答案:

答案 0 :(得分:0)

将整数强制转换为字节,就像这样。您必须确保整数介于-128到127之间。

String numbers = "71 17 -93 -104";
    String[] nums = numbers.split(" ");
    for(int i=0; i< nums.length; i++)
    {
        System.out.println(nums[i]); 
    }
    int StrArrLen = nums.length;
    byte[] myArray = new byte[StrArrLen];
    for(int i=0; i< StrArrLen; i++)
    {
        myArray[i] = (byte)Integer.parseInt(nums[i]);

    }
    System.out.println("\nResult:");
    for(int i=0; i< StrArrLen; i++)
    {
        System.out.println(myArray[i]); 
    }