一,题目 编写一个方法,返回一个double型二维数组,数组中的元素通过解析字符串参数获得,如字符串参数: “1,2;3,4,5;6,7,8,”对应的数组为: arry[0][0]=1.0 arry[0][1]=2.0 arry[1][0]=3.0 arry[1][1]=4.0 arry[1][2]=5.0 arry[2][0]=6.0 arry[2][1]=7.0 arry[2][2]=8.0 二,源代码
package home516; public class Func { public static void main(String [] args) { double arry[][]; String str="1,2;3,4,5;6,7,8"; String[] sFirst=str.split(";"); arry=new double[sFirst.length][]; for(int i=0;i<sFirst.length;i++) { String [] sSecond=sFirst[i].split(","); arry[i]=new double[sSecond.length]; for(int j=0;j<sSecond.length;j++) { arry[i][j]=Double.parseDouble(sSecond[j]); } } for(int i=0;i<arry.length;i++) { for(int j=0;j<arry[i].length;j++) { System.out.printf("arry["+i+"]["+j+"]="+arry[i][j]+" "); } System.out.println(); } } }三,运行结果 四,总结 利用String类中的split函数进行分割,同时将结果存放在一个二维数组中。问题在于怎么利用两次split分割后放在数组的两个维度中,过程不再撰述。数组为引用型,需要申请内存。String类型转换为double利用的时包装类的静态方法parseDouble(),parseXxx可以将变量内容匹配的字符串转换为对应的基本数据类型。遍历时使用System类中的System.out.printf();区别就是:前者可以不换行的输出,而System.out.println()的每一个都要换行。