2017-04-03 78 views
0

我從過去的論文中得到了這個問題,我不確定我是否正確。作爲一個字符串的二維數組。初始化

「寫下Java代碼來聲明和初始化一個二維數組,其中包含一週中的天數爲 及其三個字母的縮寫。」

所以我可以從中得出它需要是一個2d數組作爲字符串,因爲我們正在存儲星期幾和縮寫。

這個實現是否適合回答這個問題?

string[][] g; 
g = new string[7][1]; 
g[0][0] = "Monday" 
g[0][1] = "Mon" 
g[1][0] = "Tuesday" 
g[1][1] = "Tue" 
+4

正確分開幾件事情。在兩種情況下都需要大寫字符串。您的陣列應該是7x2 - 7天,每天2個字符串。容易犯的錯誤,因爲當數組索引時,最大索引將是1,但大小是2. – Michael

+0

Nop,爲了數據描述的緣故,您也可以只使用一個數組...您只是錯過了三個字母縮寫部分... –

+2

數組中的索引是從零開始的。 'new Type [size]'爲'size'元素創建數組,但這些元素的索引從'0'到'size-1'。 – Pshemo

回答

0

差不多。

你想要的數組陣列的尺寸是[7][2] - 它與1D陣列沒有區別。 int[] x = new int[2]有兩個條目,x[0]x[1]

String是一個類,類以大寫字母開頭。

你忘記了大部分作業的分號。

所以:

String[][] g; 
g = new String[7][2]; 
g[0][0] = "Monday"; 
g[0][1] = "Mon"; 
g[1][0] = "Tuesday"; 
g[1][1] = "Tue"; 

...等等。

完成這樣的工作後,對於您提出的問題而言,這是一個正確的答案,但這不是一個經驗豐富的Java開發人員如何編寫它的方式。很多人會做出聲明,並創建一個步驟:

String[][] g = new String[7][2]; 
g[0][0] = "Monday"; // etc 

很多人會使用填充它的數組文本

String[][] g = new String[][] { 
     { "Monday", "Mon" }, 
     { "Tuesday", "Tue" }, 
     // etc. 
}; 

注意,當你做這種方式,你不需要指定大小,因爲它會和文字中的條目數一樣大。

+0

FWIW我認爲初學者的Java課程似乎對數組有興趣是很荒謬的。是的,你應該瞭解它們,但應該晚一點。 – slim

+0

新字符串[7] [2]; = new String [7] [2];編輯您的帖子。 – Sedrick

+0

@SedrickJefferson謝謝 – slim

0

正確。你可以用這種方式聲明一個數組,使其更具可讀性:

String daysOfWeek[][] = { 
    { "Monday", "Mon" }, 
    { "Tuesday", "Tue" }, 
    // <...> 
}; 
+2

他的問題是「這個實現是否適合......?」他沒有要求你以不同的方式去做。 – Michael

+0

另外你不需要'new String [] []'。 – Michael