9-4 二維陣列

 Flash無法直接宣告二維()以上陣列,需先宣告一維陣列,再將一維陣列中個別陣列元素宣告為一維陣列,變成二維陣列。

   宣告一個3x5二維陣列,陣列名稱為height

height=Array(3);

for(i=0; i<=2; i++){

       height[i]=Array(5);

}

將一維陣列元素再宣告為一維陣列,其方式與前一節語法相同,也可以給予初始值。

 

 


將二個人的姓名、性別、身高、體重等4個欄位儲存。

2x4二維陣列,並輸出於文字欄位中。

結果:

 

 

 

 

 

影格1程式:

01

02

03

04

05

06

07

08

09

10

11

12

13

person=Array(2);

for(i=0;i<=1;i++){

    person[i]=Array(4);

}

person[0]=["王淑娟","",165, 65];

person[1]=["李文彬","",170, 75];

show_txt.text="姓名   性別    身高    體重"+newline;

for(i=0;i<=1;i++){

for(j=0;j<=3;j++){

        show_txt.text+=person[i][j]+"       ";

    }

    show_txt.text+=newline;

}

解說:

1:宣告person為一維陣列,具有2個元素,person[0]person[1]

24:將person[0]person[1]宣告為一維陣列,具有4個元素,分別為person[0][0]person[0][1]person[0][2]person[0][3]person[1][0]person[1][1]person[1][2]person[1][3]

如下圖所示

Person[0][0]

Person[0][1]

Person[0][2]

Person[0][3]

Person[1][0]

Person[1][1]

Person[1][2]

Person[1][3]

Person

Person[0]

Person[1]

 

5:設定person[0]4個元素初始值,也就是王淑娟的個人資料。

person[0][0]  person[0][1]   person[0][2]   person[0][3]

王淑娟

165

65

Person[0]

 

6:設定person[1]4個元素初始值,也就是李文彬的個人資料。

person[1][0]  person[1][1]   person[1][2]   person[1][3]

李文彬

170

75

Person[1]

 

7:輸出個人資料欄位的名稱。

813:輸出2個人的所有資料。

911:輸出每一個人的4個欄位資料,兩個資料之間有空白。

12:每一個人資料都在同一行,不同人的資料在不同行。

 

 


     計算小明與小文二個人的國文、英文、數學三科的平均分數,平均分數採取四捨五入。

結果:

 

 

 

 

 

影格1程式:

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

name=["小明","小文"];

ave=[0,0];

score=Array(2);

score[0]=[91,92,92];

score[1]=[80,81,80];

for(i=0;i<=1;i++){

    for(j=0;j<=2;j++){

        ave[i]+=score[i][j];

    }

    ave[i]=Math.round(ave[i]/3);

}

show_txt.text="姓名  國文   英文   數學   平均 "+newline;

for(i=0;i<=1;i++){

    show_txt.text+=name[i]+"    ";

    for(j=0;j<=2;j++){

        show_txt.text+=score[i][j]+"     ";

    }

    show_txt.text+=ave[i]+"   ";

    show_txt.text+=newline;

}

解說:

1name為一維陣列存二個人姓名。

2ave為一維陣列存二個人的平均分數,剛開始假設為0分。

35:存小明、小文二個人的三科成績。score2x3的二維陣列。

611:分別計算兩個人的三科平均分數。

79:將三科成績和存於ave中,

   小明成績

ave[0] = score[0][0] + score[0][1] + score[0][2]

           國文成績 +英文成績 數學成績

10:計算個人平均分數,採取四捨五入,為了節省記憶體,總分與平均分數用相同陣列,為避免混淆也可以用不同陣列名稱,只是需另外宣告總分的陣列

  

            tot=Array(2);

            tot=[0,0];

8改成   tot[i]+=score[i][i];

10改成  ave[i]=Math.round(tot[i]/3);

1220:輸出二個人的姓名、國文、英文、數學,平均等資料。