-4

我需要在java中将字符串转换为相应的int数组。我写了下面的代码,但它没有像我预期的那样工作。

        String temp= "abc1";
        int[] intArray = new int[temp.length()];
        for (int i = 0; i < temp.length(); i++) {
            intArray[i] = Integer.parseInt(temp[i]);
        } 

我编写了一个 rc4 加密程序,它将密钥和纯文本作为 int 数组。所以我需要在将用户指定的密钥传递给加密函数之前将其转换为 int 数组。这是在加密程序中使用密钥的正确方法吗?

4

4 回答 4

3

使用它来获取 ASCII 码

intArray[i] = (int)temp.charAt(i);
于 2013-03-15T13:00:39.180 回答
0

您可以将字符串转换为 charArray。遍历 charArray 可以转换为:

char[] c = inputString.toCharArray()
for(int i=0;i<c.length;i++)
     int n    = Integer.parseInt(c[i]);
于 2013-03-15T13:02:37.163 回答
0

如果您使用的是 Java8 或更高版本,那么它可能对您有所帮助

String temp="abc1";
int[] intArray =temp.chars().map(x->x-'0').toArray();
System.out.println(Arrays.toString(intArray ));

int 数组将是 [49, 50, 51, 1]

于 2018-11-03T21:41:55.000 回答
-1

我通过使用 byte 而不是 int 解决了这个问题。修改 rc4 以采用字节数组。使用将字符串转换为字节

    String Nkey = jTextField2.getText();
    jTextField3.setText(Nkey);
    int i;
    byte[] key = Nkey.getBytes();
于 2013-03-15T13:29:16.427 回答