//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
- 輸出二維數組-------------------
- *///
- }
- }