如何对角填充2D数组

时间:2016-11-02 16:50:31

标签: java arrays multidimensional-array 2d diagonal

我有一个2D char数组,我需要填充颜色代码来创建具有模式的合成图像。数组填充零,如果通过单独的程序运行,最终会返回黑色图像。我需要对角(在这个方向上)填充数组(char)255(在这个单独的程序中代表白色的颜色代码)。这将产生具有交替的黑色和白色线的图像,这些线在方向上是对角线的。我需要使用嵌套的for循环来实现这一点,但我不确定如何将(char)255设置为对角线上的2D数组中的不同元素。这令我困惑。请帮忙。

这是2D数组:

(0,0)(0,1)(0,2)(0,3)(0,4)

(1,0)(1,1)(1,2)(1,3)(1,4)

(2,0)(2,1)(2,2)(2,3)(2,4)

(3,0)(3,1)(3,2)(3,3)(3,4)

(4,0)(4,1)(4,2)(4,3)(4,4)

数组中需要赋值的元素(char)255是(4,0),(2,0)(3,1)(4,2),(0,0)(1,1) (2,2)(3,3)(4,4),(0,2)(1,3)(2,4)和(0,4)。

以下是我为水平线做的代码,如果它有助于理解我的问题:

public static char[][] createVerticalStripes(int height, int width, int stripeWidth) {

    // Declaring array for this method

    char[][] image = new char[height][width];

    for (int rows = 0; rows < height; ++rows) {

        for (int columns = 0; columns < width; ++columns) {

            if (columns % stripeWidth == 0) {
                image[rows][columns] = (char) 255;
            }
        }
    }

    return image;
} 

1 个答案:

答案 0 :(得分:0)

你是说这样的意思吗? (假设你的数组大小是5X5)

precip