【问题标题】:Processing a 2D Array in Java在 Java 中处理二维数组
【发布时间】:2017-09-20 14:04:38
【问题描述】:

你好,到目前为止,我已经想出了一个简单的技术,只处理我数组中的奇数行

int[][] myArray = new int[rows][cols];

for (int i = 1; i < rows; i+=2)
    for (int j = 0; j < cols; j++)     
        myArray[i][j] = 1;

下面是我想要的效果很好的输出

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

我现在需要让我的 2D 数组与下面的这个样式相匹配,但我在这样做时遇到了麻烦。有什么建议吗?

[3, 1, 0, 1, 0, 1, 0, 1, 0, 1, 3]
[2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2]
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
[2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2]
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
[2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2]
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
[2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2]
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0]
[3, 1, 0, 1, 0, 1, 0, 1, 0, 1, 3]

【问题讨论】:

  • 填充第一行和最后一行然后在奇数行和奇数列上写0?从那里填充甚至列将很容易。

标签: java for-loop multidimensional-array


【解决方案1】:

试试这个代码:

int rows = 10, col = 11;
int[][] myArray = new int[rows][col];

for (int i = 0; i < rows; i++){
  for (int j = 0; j < col; j++){   
    if((i == 0 || i == rows - 1) && (j == 0 || j == col - 1)){
        myArray[i][j] = 3;
    }
    else if ((i + 1) % 2 == 1 || i == rows - 1){
      if((j + 1) % 2 == 0)
        myArray[i][j] = 1;
    } else{
      if((j + 1) % 2 == 1)
        myArray[i][j] = 2;
    }
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    相关资源
    最近更新 更多