java - 创建一个二维字符串数组 anArray[2][2]

标签 java arrays loops multidimensional-array

我目前正在上一门自学 Java 类(class),对我的一项作业完全感到困惑,任何人都可以给我一些指导吗?请记住,我是 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();
    }
  }
}

谁能给我一些指点?我似乎无法在网上找到任何对我有帮助的东西,所以我想来这里问问。 提前致谢。

最佳答案

看起来这就是你想要的

    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"}};

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

关于java - 创建一个二维字符串数组 anArray[2][2],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20359228/

相关文章:

java - Minecraft Forge 如何从外部 JAR 加载模组?

java - Swing 小程序组件在与交互之前是不可见的

JavaScript:对于对象中的每个对象?

loops - 如何使用<g:each>标签遍历单个元素Grails-Gsp的属性

javascript - 通过循环动态显示html元素

java - 在Java小程序中调用无限循环

java - Guava 中 ForwardingMap 的用途是什么?

javascript - 分块算法帮助 JS

php - 如何从 CakePHP 列表数组返回一个值以在表单中使用?

c++ - 硬件级别的 'for loop' 中发生了什么?内存是自动分配的吗? (C++)