java中把char型数组转换成int型数组怎么做?

java中把char型数组转换成int型数组怎么做?如果现在有一个cha[] ch ={'5','7','9','2','4','5'}数组,把他转换成int型数组,程序代码应该怎么写?
public class TestArray {

public static void main(String[] args) {

char ch[] = {'3','5','2','4','0','1','8'};
int[] a ={};
for(int i=0;i<ch.length;i++){
a[i]=Integer.parseInt(String.valueOf(ch[i]));
System.out.print(a[i]);
}

}

}
我这么做的,编译没有问题,但是运行就出错了,为什么?

public class Test {
public static void main(String[] args){
char[] ch = {'3','5','2','4','0','8','1'};
int[] toInt = new int[ch.length];
for(int i=0;i<ch.length;i++){
toInt[i] = Integer.parseInt(String.valueOf(ch[i]));
System.out.print(toInt[i]);
}
}
}

我的程序是正确的,至于你的为什么错误呢?原因在于int[] a={}这里,你给a这个数组分配的空间是0,那么它怎么可以存储7个数字呢? 应该这样写:int[] a=new int[7];或int[] a=new int[ch.length]; 呵呵..
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-22
public class Test {
public static void main(String[] args){
char[] ch = {'3','5','2','4','0','8','1'};
int[] toInt = new int[ch.length];
for(int i=0;i<ch.length;i++){
toInt[i] = Integer.parseInt(String.valueOf(ch[i]));
System.out.print(toInt[i]);
}
}
}
第2个回答  2008-11-04
试试这个 符合要求不
public class Test {

/**
* @param args
*/
public static void main(String[] args) {
char[] ch ={'5','7','9','2','4','5'};
int len=ch.length;
int[] in =new int[len];
for(int i=0;i<len;i++){
String str=String.valueOf(ch[i]);
in[i]=Integer.parseInt(str);
}
for(int j=0;j<in.length;j++){
System.out.println(in[j]);
}
}

}
第3个回答  2008-11-04
char[] ch ={'5','7','9','2','4','5'};
String str = String.valueOf(ch);
int[] arrayInt = new int[ch.length];
for(int i=0; i<str.length();i++){
arrayInt[i] = Integer.parseInt(str.substring(i, i+1));
}
for (int i = 0; i < arrayInt.length; i++) {
System.out.print(arrayInt[i]);
}
第4个回答  2008-11-04
只有一个一个的循环出来。
然后赋值给int[]。。。
直接转换,好像不太行。
相似回答