【问题标题】:Create a two dimensional string array anArray[2][2]创建一个二维字符串数组 anArray[2][2]
【发布时间】:2013-12-19 23:41:11
【问题描述】:

我目前正在学习自学 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] [1]:stackoverflow.com/questions/19173396/…

标签: java arrays loops multidimensional-array


【解决方案1】:

看起来这就是你想要的

    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 行 x 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 多个点的多列数据)时,像这样硬编码可能很粗糙。

【讨论】:

  • 我给你的作业是不要按程序写,而是要客观地写;-)。我认为这也是练习所需要的。
  • 有回复吗?回馈?有问题吗?
  • 非常感谢您的帮助!我现在完全明白了。
  • Np。现在就客观的去做吧!我将从String[][] newArray 的实例变量开始。
  • 为什么是String[][] newArray = new String[columns][rows]; 而不是String[][] newArray = new String[rows][columns];?在初始化和访问二维数组时,我认为行在列之前。
猜你喜欢
  • 2013-07-16
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
  • 1970-01-01
  • 2020-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多