//1.二维数组的定义
//2.二维数组的内存空间
//3.不规则数组
输出要放在循环里面,放在外面就报错了
打debug确定二维数组的关系
现在程序在7与8行进行循环
------------------------------------------------------------------------------------------------------------------------------------
然后经历一个中间阶段
然后继续
一直到
就结束了
二维数组内存结构
不规则二维数组
在上面中不能 int arr=new int[][3],这样会报错,这个的意思就“零行三列”
- //3.编写一个方法,返回double型二维数组,数组通过解析字符串参数获得。
- //如"1,2;3,4,5;6,7,8"
- //d[0,0]=1.0 d[0,1]=2.0 d[1,0]=3.0 ....
- package me.parser;
- public class TestString{
- public static void main(String[] args){
- //1.用字符串分解split(";")成三个字符串数组
- //2.再分解split(",")
- //声明一个二维数组用来装分解好的字符
- String s="1,2;3,4,5;6,7,8";
- //以split()方法 分解
- String[] sFirst=s.split(";");
- String[][] word=new String[sFirst.length][];
- int flag=0;
- for(int i=0;i<sFirst.length;i++){
- //打印出已经分开的
- //System.out.println(sFirst[i]);
- /*这条语句输出
- 1,2
- 3,4,5
- 6,7,8
- *///接下来在按照 ,分开他们放入一个一维数组
- String[] sSecond=sFirst[i].split(",");
- //~ System.out.println(sSecond.length);
- //~ /*输出:
- //~ 2
- //~ ---------------------------------
- //~ 3
- //~ ---------------------------------
- //~ 3
- //~ ---------------------------------
- //~ *///说明每次sSencond这个一维数组的长度不同
- word[i]=new String[sSecond.length];//这步确定行不规则数组的每行长度
- //为这个数组赋值
- for(int j=0;j<sSecond.length;j++){
- word[i][j]=sSecond[j];
- }
- System.out.println("---------------这是第"+(i+1)+"次循环-------------------");
- }
- //输出二维数组
- System.out.println("输出二维数组-------------------");
- for(int i=0;i<word.length;i++){
- for(int j=0;j<word[i].length;j++){
- System.out.print(word[i][j]+" ");
- }
- System.out.println();
- }
- /*结果:
- ---------------这是第1次循环-------------------
- ---------------这是第2次循环-------------------
- ---------------这是第3次循环-------------------
- 输出二维数组-------------------
- 1 2
- 3 4 5
- 6 7 8
- 输出二维数组-------------------
- *///
- }
- }