创建二维字符串数组anArray [2] [2]

时间:2013-12-03 18:48:48

标签: java arrays loops multidimensional-array

我目前正在学习自学Java课程并完全被我的一项任务所困扰,有人可以给我一些指示吗?请记住,我完全不熟悉Java,所以我需要它,就像它一样简单。

问题: 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 :(得分:4)

看起来这就是你想要的

    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]);
        }
    }

在这里我将解释代码:

这声明了新2D阵列的大小。在Java(和大多数编程语言)中,您的第一个值从0开始,因此该数组的大小实际上是2行乘2列

    int columns = 2;
    int rows = 2;

在这里,您使用类型String[][]创建一个新的2D数组,其大小由[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"}};

但我不喜欢这种方式,因为当你开始处理更大的数据集(比如10,000多个数据点和许多列)时,像这样硬编码可能很粗糙。