【问题标题】:Java how to return a function that returns a 2d array right angle patternJava如何返回一个返回二维数组直角模式的函数
【发布时间】:2016-04-06 22:24:59
【问题描述】:

考虑一组数字网格,例如:

1      1  2      1  2  3
       2  2      2  2  3
                 3  3  3

换句话说,一个正方形网格,其中每个位置的数字都遵循直角模式。如何编写创建、填充和返回这样一个二维数组的函数?

(另外,我想知道 Math.max(a, b) 是否对填充网格有用。我想知道它是否可以返回两个输入 a 和 b 之间更大的值。)

我已经设置了一个功能,但我不知道从哪里开始:

int[][] cornerPattern(int squareSize) {

}

提示就好了

【问题讨论】:

  • 老实说,你没看到这里有规律吗?

标签: java arrays multidimensional-array


【解决方案1】:

大多数 java 程序都可以很容易地解决或至少通过找到一个模式来启动。
那么这里的模式是什么?
模式是数组索引与该位置的元素之间的关系。
每个索引中包含 0 的索引都有 1,所以 arr[0][0] 是 1。看到那里的模式了吗?
每个索引中包含 [1] 的索引都有 2。所以 arr[0][1]、arr[1][0] 和 arr[1][1] 为 2,与 3 的条件相同。 数组的大小也是同理定义的。 3,将是[3][3]矩阵。
希望有帮助。 :)

你正在寻找这样的东西

int m =//input;
    int[][] arr = new int[m][m];
for(int i=0;i<m;i++){
    for(int j=0;j<m;j++){
        if(i>=j)
        arr[i][j]=i;
        else
            arr[i][j]=j;
        System.out.print(arr[i][j]);
    }
    System.out.println();
}

【讨论】:

  • 如果有不清楚的地方可以在这​​里评论。如果是,请将此答案标记为正确:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-26
  • 2019-03-06
  • 1970-01-01
  • 2014-12-19
  • 2021-03-29
  • 1970-01-01
  • 2021-03-16
相关资源
最近更新 更多