2014-11-03 59 views
0

對於分配我必須繪製與它們之間的分離在屏幕上字的(固定的)數目,和在多行,這樣的:如何查找數組中的數組數量?

Gobject 
GLabel GLine GOval GRect 
Row3 

欲使其更動態的,因此,我可以創建一個數組數組,這樣當我改變這個數組時,每行的行數和字數也會改變。我的第一個問題是,這通常如何完成?按照通常的方式創建數組數組?我的想法是,我想盡量減少硬編碼,並且一個數組數組似乎能夠保存我需要的所有信息。 (行數和每行字數)。

我的想法:

String[][] labels = {{"GObject"}, {"GLabel", "GLine", "GOval", "GRect"}, {"Row3"}} 

我知道GObject是在第一排,獨自一人。 GLabel與最後一行中的Gline,GOval,GRectRow3對應。 如何獲取此信息?

我知道如何讓每行內元素的個數:

labels[2].length //this equals 1, which is true 

我還不知道怎麼弄的行數出數組的數組。如果我知道這一點,我可以創建兩個for循環,並在屏幕上方便地繪製所有內容,而不需要更改除了陣列本身之外的任何內容。

回答

3

labels.length是數組數組中的行數。

至於使用數組,數組不是最動態的結構,因爲它的大小是固定的。如果你在問題中靜態地初始化數組,那麼沒有問題,但是如果你從某個文件讀取輸入並且事先不知道數組的大小,那麼使用List列表可能會更好 - List<List<String>> - 這不是固定的大小。

+0

@Joop編輯答案 – Eran 2014-11-03 09:17:05

1
for(int i = 0; i < labels.length; i++) { 
    // each lables[i] is an array. 
    System.out.println("length = " + labels[i].length + " for row " + i); 
}