java 中如何将一个字符串转换成一个整数数组

2024-11-07 16:59:38
推荐回答(5个)
回答1:

arg.charAt(i) - '0'; 和arg.charAt(i)

arg.charAt(i) - '0'是将前面的ascii码减去0的ascii码
例如arg.charAt(i)表示的是字符f
f的ascii码为102
0的ascii码48
102-48=54
ascii码54 表示的是字符6 (f在26个字母中排第六)

回答2:

java将字符串转换成整数数组,可以先拆分字符串,然后使用Integer进行转换,实例如下:

String str = "100 200 33 55";//字符串
String[] temp = str.spli(" ");//以空格拆分字符串
int[] result = new int[temp.length];//int类型数组
for(int i=0;i{
   result[i] = Integer.parseInt(temp[i]);//整数数组
}

回答3:

arg.charAt(i) - '0'和arg.charAt(i)的差别是:前者能得到想要的正确结果,实际上是arg.charAt(i)这个字符的ASCII码值与0这个字符的ASCII值(48)相减的结果,而后者则只能得到arg.charAt(i)的ASCII值。 以下代码已通过测试:
public class Test {

/**
* @param args
*/
public static void main(String[] args) {

String str = args[0];
int [] a = new int[str.length()];
for(int i=0; ia[i] = Integer.parseInt(str.charAt(i)+"");
}
for(int i=0; iSystem.out.println(a[i]);
}
}
}

回答4:

转换成整形数组,基本思想就是把String类型的字符串中的每个字符转换为一个char型字符,char型字符可以直接强制转换为int类型整数,然后存到数组中

public class Test {
public static void main(String[] args) {
String arg = args[0];
int[] a = new int[arg.length()];
for(int i=0;ia[i] = arg.charAt(i) - '0';
}
for(int i=0;iSystem.out.print(a[i] + " ");
}
}
}

回答5:

有专门转整数的,但是没有转整数数组的。要是想一个字符一个数字的话,就自己跑循环。