java中怎么将由数字组成的字符串转化为数组?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]);
参考技术A 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] + " ");
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数组 参考技术C 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)
就转换成整形了
以上是关于java中怎么将由数字组成的字符串转化为数组?的主要内容,如果未能解决你的问题,请参考以下文章