您的位置:首页 > 编程语言 > Java开发

java中对字符串解析返回double型数组

2013-09-16 21:24 267 查看
编写一个方法,返回一个double型二维数组,数组中的元素通过解析字符串参数获得。如字符串参数:“4,5;6,7,8;1,2,3" 对应的数组为:

                                                    d[0,0] =4.0  d[0,1]=5.0 

                                                   d[1,0]=6.0   d[1,1]=7.0  d[1,2]=8.0

                                                   d[2,0]=1.0   d[2,1]=2.0  d[2,2]=3.0

方法1:最开始想的方法是将字符串“4,5;6,7,8;1,2,3"  转换为char[]数组,  然后判断数组的成员是数字 , 若是就放入二位数组。   这种方法是不可行的,因为char字符放入double型二维数组的时候实际存放的是字符对应的Unicode码值

方法2:只能现将字符串“4,5;6,7,8;1,2,3" 按指定字符分割(调用split(exep)方法),然后再用Double.valueOf(String s)方法得到字符串的字面值。

  

public class testDouble2 {
public static double[][] stringToDoubleMatrix(String str)

    {

        String[] s=str.split(";");

        String[] temp;

        double[][] d=new double[s.length][];

        for (int i = 0; i < s.length; i++)

        {

            temp=s[i].split(",");

            d[i]=new double[temp.length];

            for (int j = 0; j <temp.length; j++)

            {

                d[i][j]=Double.valueOf(temp[j]);

            }

        }

        return d;

    }

 

public static void main(String[] args)

{   

    double[][] d=stringToDoubleMatrix("1,2,3,4;5,6;7,8,9,10,11;12,13,14,15,16,17,18;19,20");

    for (int i = 0; i < d.length; i++)

    {

        for (int j = 0; j < d[i].length; j++)

        {

            System.out.print(d[i][j]+" ");

        }

        System.out.println();

    }

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐