《Java大學教程》—第16章 二維數組
多維(Multi-dimensional)數組維數由索引個數決定。
常用的數組:一維(one-dimensional)數組、二維(two-dimensional)數組
16.2 創建二維數組
索引從0開始,創建成表格,第一個索引是行索引,第二個索引是列索引。
length屬性:第一個索引的長度。
16.3 初始化二維數組:數值用逗號分隔,行用大括號分隔。
16.4 不規則數組(ragged array):可變列數的二維數組。
如果只聲明但不初始化不規則二維數組,必須聲明行數(第一索引),可以不聲明列數(第二索引)。
問:不規則數組只能是二維嗎?
答:不規則數組可以是多維,并且都是必須聲明第一索引就可以了。
自測題:
1. 考慮下列數組聲明語句,該數組用于存儲學生成績的集合
char [][] grades=new char[4][20];
a) 該數組有幾個維度?
2個
b) grades.length的值是多少?
4
c) grades[0].length的值是多少?
20
d) 第一組第一個學生的成績為B
grades[0][0]='B';
2. 聲明合適的數組
a) 進球數:20個球隊,38場比賽
int scores[20][38];
b) 座位:70行座位,每行20個座位
boolean seats[70][20];
3. 記錄火車晚點情況
a) 一年中第幾周,每周中第幾天晚點次數
int late[52][7];
b)
int daysNum=0; for (int i=0;i<52;i++) for (int j=0;j<7;j++) if (late[i][j]==2) daysNum++;
4.
a) 規則二維數組與不規則二維數組的區別:P390
列數(第二索引)是固定的還是可變的。
b) 不規則二維數組triangle
int [][] triangle = new int[4][]; for (int i=0;i<4;i++) triangle[i]=new int[i+1];
c) triangle中的最大值
int biggestNum; biggestNum=triangle[0][0]; for (int i=1;i<4;i++) for (int j=0;j<triangle[i].length;j++) if (biggestNum < triangle[i][j]) biggestNum=triangle[i][j];
5. 網格布局策略:P397
允許為將要添加的元素設定行數和列數。排列方式由系統設定,默認為從左到右,從上到下。
編程練習:代碼附件
1. VarNoughtsAndCrosses.java RunVarNoughtsAndCrosses.java
2. CheckTrain.java CheckTrainTest.java InvalidDateException.java
3. TimeTable.java TimeTableException.java TimeTableTest.java
TimeTableGUI.java RunTimeTableGUI.java 做界面太消耗時間了,暫時不做了。
posted on 2016-09-29 21:56 zYx.Tom 閱讀(326) 評論(0) 編輯 收藏 所屬分類: 1.Java世界