我需要在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数组。这是在加密程序中使用密钥的正确方法吗?
答案 0 :(得分:3)
使用它来获取ASCII码
intArray[i] = (int)temp.charAt(i);
答案 1 :(得分:0)
您可以将字符串转换为charArray。 Traveing charArray你可以转换为:
char[] c = inputString.toCharArray()
for(int i=0;i<c.length;i++)
int n = Integer.parseInt(c[i]);
答案 2 :(得分: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]
答案 3 :(得分:-1)
我通过使用byte而不是int解决了这个问题。修改了rc4取字节数组。 使用
将字符串转换为字节 String Nkey = jTextField2.getText();
jTextField3.setText(Nkey);
int i;
byte[] key = Nkey.getBytes();