public class
{
public static void main(String[]args){
String s="1,2,3,4,5,6,7,8,9";/定义变量s/
int[][] a=new int[3][3];/定义数组a/
String[]b=s.split(",");/类型转换/
for(int i=0,j=0,k=0;i)/for语句,定义i,j,k,表数组样式/
a[j][k++]=Integer.parseInt(b[i]);
if(k==3){j++;k=0;}
}
//打印出来
for(int[]c:a){
for(int n:c){
System.out.print(n+" ");/输出/
}System.out.println();
}
}
}
比如有个字符串如下:
String str = "ss\dd\sddf|ssd\sd\sdf|ss\sdf\sd";
转换二维数组的方法如下:
public class String ToArray {
public static void main(String[] args) {
StringToArray sa = new StringToArray();
String str = "ss\\dd\\sddf|ssd\\sd\\sdf|ss\\sdf\\sd";
String[][] temp = sa.stringSplit(str);
}
private String[][] stringSplit(String sp) {
String[] splitFirst = sp.split("\\|");
for (int i = 0; i < splitFirst.length; i++) {
System.out.println(splitFirst[i]);
}
String[][] splitSecond = null;
for (int i = 0; i < splitFirst.length; i++) {
String[] temp = splitFirst[i].split("\\\\");
splitSecond = new String[splitFirst.length][temp.length];
for (int j = 0; j < temp.length; j++) {
splitSecond[i][j] = temp[j];
System.out.println("第" + i + "行、第" + j + "列的元素是:"
+ splitSecond[i][j]);
}
}
return splitSecond;
}
}
打印结果:
第0行、第0列的元素是:ss
第0行、第1列的元素是:dd
第0行、第2列的元素是:sddf
第1行、第0列的元素是:ssd
第1行、第1列的元素是:sd
第1行、第2列的元素是:sdf
第2行、第0列的元素是:ss
第2行、第1列的元素是:sdf
第2行、第2列的元素是:sd
不一定能装换的,只有char和number类型可以转为int。
是想弄成3行3列吗?
那就是这样的:
public class tt {
public static void main(String[]args){
String s="1,2,3,4,5,6,7,8,9";
int[][] a=new int[3][3];
String[]b=s.split(",");
for(int i=0,j=0,k=0;i
if(k==3){j++;k=0;}
}
//打印出来
for(int[]c:a){
for(int n:c){
System.out.print(n+" ");
}System.out.println();
}
}
}
将字符串转换成Double类型的二维数组
public class TestString{
public static void main (String[] args) {
String s="1,2;3,4,5;6,7,8";
String str[]=s.split(";");
double d[][];
d=new double[str.length][];
for(int i=0;i
String str2[]=str[i].split(",");
for(int j=0;j
d[i]=new double[str2.length];
d[i][j]=Double.parseDouble(str2[j]);
//System.out.println(str2[j]);
System.out.print(d[i][j]+" ");
}
System.out.println();
}
}
}