java中怎么将由数字组成的字符串转化为数组?

一个字符串为12,45,56,89(含逗号),怎么将数字转化为数组?

主要是通过包装类提供字符串与整型的转换方法来实现的;
我写了个例子你可以试一下:
String str = "12,34,65,85,45,11"; //定义一个由整型构成的字符串
String[] strArr = str.split(","); //然后使用split方法将字符串拆解到字符串数组中
Integer[] intArr = new Integer[strArr.length]; //定义一个长度与上述的字符串数组长度相通的整型数组
for(int a=0;a<strArr.length;a++){
intArr[a] = Integer.valueOf(strArr[a]); //然后遍历字符串数组,使用包装类Integer的valueOf方法将字符串转为整型
}

for(int b=0;b<intArr.length;b++){
System.out.println(intArr[b]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-20
  public class StringToArray {

   public static void main(String[] args) {

   String str = "12,45,56,89";//你给的字符串
   String[] strArray = str.split(",");//使用split方法根据逗号将字符串拆分成字符串数组
   for (int i = 0; i < strArray.length; i++) {
   System.out.print(strArray[i] + " ");
   }
   }
  }

输出结果:12 45 56 89追问

将其转化为整形数组,怎么转化?谢谢了。
之前 int num=0;
然后用
for (int n = 0; n < a; n++) {
num +=strArray[n];
}
系统报错

追答

  public class StringToArray {
  public static void main(String[] args) {
  String str = "12,45,56,89";//你给的字符串
  String[] strArray = str.split(",");//使用split方法根据逗号将字符串拆分成字符串数组
  int[] num = new int[strArray.length];//定义整型数组用来接收转换的字符串数组
  //将字符串数组转换成整型数组
  for (int i = 0; i < strArray.length; i++) {
  num[i] = Integer.parseInt(strArray[i]);
  }
  System.out.println("输出整型数组:");
  for (int i = 0; i < num.length; i++) {
  System.out.print(num[i] + " ");
  }
  }
  }

本回答被网友采纳
第2个回答  2012-11-21
import java.lang.reflect.Array;
import java.util.Arrays;
public class Kits
{
/**
* 将一个字符串按照指定字符顺序拆分为数组,维度由参数regexs长度决定,拆分顺序也由regexs元素顺序决定。<br>
* 例如:<br>
* 字符串"1,2:3,4|5,6:7,8" 拆分时传入regexs为拆分正则表达式数组 {"\\|",":",","},
* 获得的数组是一个三维数组为{{{1,2},{3,4}},{{5,6},{7,8}}}<br>
* <br>
* 参数: <li>str:拆分源字符串<br> <li>regexs: 拆分正则表达式数组<br><li>
* needToInt:标识是否拆分为int数组<br>
*/
public static Object split(String str,String[] regexs,boolean needToInt)
{
if(regexs==null||regexs.length==0)
return needToInt?Integer.parseInt(str):str;
String[] strs=str.split(regexs[0]);
int[] dimensions=new int[regexs.length];
dimensions[0]=strs.length;
Class<?> clazz=null;
if(needToInt)
clazz=dimensions.getClass().getComponentType();
else
clazz=regexs.getClass().getComponentType();
Object array=Array.newInstance(clazz,dimensions);
String[] regexs_=new String[regexs.length-1];
System.arraycopy(regexs,1,regexs_,0,regexs_.length);
for(int i=0;i<strs.length;i++)
Array.set(array,i,split(strs[i],regexs_,needToInt));
return array;
}
public static void main(String[] args)
{
String s="11,22,33,44,55,66,77";
String[] regexs=new String[]{","};
int[] array=(int[])split(s,regexs,true);
System.out.println(Arrays.toString(array));
}
}
我这里写了个方法,,你直接拿去用就可以了,,只要字符串是按照一定规律组合的,都能拆分,可以选择拆分为int数组还是String数组
第3个回答  2012-11-20
public class Test{
public static void main(String[]args){
String temp="12,45,56,89";
String []strs=temp.split(",");
for(int i=0;i<strs.length;i++){
System.out.println(strs[i]);
}
}
}追问

能逐条解释下吗?我是新手, 谢谢了

追答

temp.split(",");这是String 类下的split方法 这个方法是按照给定的字符对字符串进行分割 返回值为数组类型

追问

追问 将其转化为整形数组,怎么转化?谢谢了。
之前 int num=0;
然后用
for (int n = 0; n < a; n++) {
num +=strArray[n];
}
系统报错

追答

Integer.parseInt(strs[i)
就转换成整形了

第4个回答  2012-11-25
字符串有个toArray方法
相似回答