2013-12-03 118 views
3

我目前正在學習一門Java課程,並且完全無視我的任務之一,任何人都可以給我一些指點嗎?請記住,我對Java完全陌生,所以我需要它像Java一樣簡單。創建一個二維字符串數組anArray [2] [2]

問題: 3.創建一個名爲TwoDimArray一個Java程序,並執行以下操作:

Create a two dimensional string array anArray[2][2]. 
Assign values to the 2d array containing any Country and associated colour. 

    Example: 

    France Blue 

    Ireland Green 

Output the values of the 2d array using nested for loops. 

的代碼,我拿出那也不能正常工作:

public class TwoDimArray { 
    public static void main(String[] args) { 
    char Ireland = 0; 
    char Green = 1; 
    char England = 2; 
    char White = 3; 
    char firstArray[][] = {{Ireland},{Green}}; 
    char secondArray[][] = {{England},{White}}; 

    System.out.println(); 
    display(firstArray); 
    System.out.println(); 
    display(secondArray); 

    } 

    public static void display(char a[][]) { 
    for (char row = 0; row < a .length; row++) { 
     for (char col = 0; col < a [row] .length; col++) { 
     System.out.print(a[row][col] + " "); 
     } 

     System.out.println(); 
    } 
    } 
} 

任何人都可以給我一些指點?我似乎無法找到任何可以幫助我在網絡上的東西,所以我以爲我會來這裏問。 在此先感謝。

+1

_「創建一個二維字符串數組」_。是你做的嗎 ? –

+0

您也可以創建String數組。 –

+0

我不知道我是怎麼錯過的,我會繼續努力的。多謝你們。 – ParamoreBaby

回答

3

看起來這是你想要

int columns = 2; 
    int rows = 2; 

    String[][] newArray = new String[columns][rows]; 
    newArray[0][0] = "France"; 
    newArray[0][1] = "Blue"; 

    newArray[1][0] = "Ireland"; 
    newArray[1][1] = "Green"; 

    for(int i = 0; i < rows; i++){ 
     for(int j = 0; j < columns; j++){ 
      System.out.println(newArray[i][j]); 
     } 
    } 

在這裏,我將解釋什麼代碼:

這聲明你的新二維數組的大小。在Java(和大多數編程語言),你的第一個值從0開始的,所以這個數組的大小實際上2行是2列

int columns = 2; 
    int rows = 2; 

在這裏,你所使用的類型String[][]創建一個新的二維數組大小由[rows][columns]定義。

String[][] newArray = new String[columns][rows]; 

您可以根據它在陣列中的位置來分配值。

newArray[0][0] = "France"; 
    newArray[0][1] = "Blue"; 

    newArray[1][0] = "Ireland"; 
    newArray[1][1] = "Green"; 

循環通過i將通過行循環和循環通過j將通過列循環。此代碼循環遍歷所有行和列,並打印出每個索引中的值。

for(int i = 0; i < rows; i++){ 
     for(int j = 0; j < columns; j++){ 
      System.out.println(newArray[i][j]); 
     } 
    } 

另外,分配可以是一個班輪:

String[][] newArray = {{"France", "Blue"}, {"Ireland", "Green"}}; 

,但我不喜歡這種方式,因爲當你開始處理更大的數據集(如數據的10000點有很多列),像這樣硬編碼可能很粗糙。

+1

我的作業對你來說不是寫在程序上,而是客觀地寫下來;-)。我認爲這也是練習所需要的。 – theGreenCabbage

+0

有沒有答覆?反饋?有問題嗎? – theGreenCabbage

+0

非常感謝您的幫助!我現在完全理解它。 – ParamoreBaby