写一个方法返回一个double类型二维数组,数组的数据来源于字符串。
例:字符串"1,2;3,4,5;6,7,8",将数字提取出来赋值给一个二维数组。b[][] = {{1,2},{3,4,5},{6,7,8}}
java代码:
import java.io.*;
public class StringParser {
public static void main(String[] args) {
System.out.println("请输入一个纯数字的字符串:");
String in = getInputString();
double[][] d = stringParse(in);
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();
}
}
public static String getInputString() {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try{
return reader.readLine();
} catch(IOException e) { e.printStackTrace(); }
return null;
}
public static double[][] stringParse(String s) {
String[] str1 = s.split(";");
double[][] result = new double[str1.length][];
for (int i=0; i<str1.length; i++) {
String[] str2 = str1[i].split(",");
result[i] = new double[str2.length];
for (int j=0; j<str2.length; j++) {
result[i][j] = Double.parseDouble(str2[j]);
}
}
return result;
}
}