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

public class Test{
public static void main(String[] args){
char[] temp=new char[args[0].length()];
temp=args[0].toCharArray();
for(int i=0;i<args.length;i++){
int[] a=new int[args[0].length()];
a[i]=Integer.parseInt(temp[i]);
System.out.print(a[i]+" ");
}
}
}
应该如何改写啊?
还有没有高手啊!帮帮忙啊
二楼的很对啊 我想问问arg.charAt(i) - '0'; 和arg.charAt(i) 差别是什么啊?

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个字母中排第六)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-23

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

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

第2个回答  2008-10-06
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; i<str.length(); i++){
a[i] = Integer.parseInt(str.charAt(i)+"");
}
for(int i=0; i<a.length; i++){
System.out.println(a[i]);
}
}
}
第3个回答  2008-10-06
转换成整形数组,基本思想就是把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;i<arg.length();i++){
a[i] = arg.charAt(i) - '0';
}
for(int i=0;i<a.length;i++){
System.out.print(a[i] + " ");
}
}
}
第4个回答  2015-09-17
有专门转整数的,但是没有转整数数组的。要是想一个字符一个数字的话,就自己跑循环。
相似回答