将数组数据从*转换为空并将空转换为*

时间:2014-03-10 15:18:39

标签: java arrays multidimensional-array 2d

所以我创建了一个名为像素的2D数组。我写了一个方法来在垂直轴上翻转数组并将数组旋转90度。我知道它很简单,我可能会忽略一些简单的东西,但对于我的生活,我无法弄清楚如何反转数组中的数据。数组保存空白值和*值以打印图片。我需要创建一个方法,将所有*转换为空,将所有空白转换为*。

是的,这是家庭作业(实际上是实验室),如果你向我解释这个方法是如何工作的,我相信我可以自己写。只是在这里寻找一些指示。感谢。

编辑:

我的代码不起作用,操作数不匹配错误char [] []和char

   public void invert ( ){

    if (pixels == '*'){

        pixels = ' ';
    }
    else{
        pixels = '*';
    }


     } 

创建数组的代码:

               private char[][] pixels = 
    {  { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
        { ' ', '*', '*', '*', '*', '*', ' ', ' ' },
        { ' ', '*', ' ', ' ', ' ', ' ', ' ', ' ' },
        { ' ', '*', ' ', ' ', ' ', ' ', '*', ' ' },
        { ' ', '*', '*', '*', ' ', ' ', ' ', ' ' },
        { ' ', '*', ' ', ' ', ' ', '*', ' ', ' ' },
        { ' ', '*', ' ', ' ', ' ', ' ', ' ', '*' },
        { ' ', '*', '*', '*', '*', '*', ' ', ' ' }, 
        { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' } };

1 个答案:

答案 0 :(得分:0)

您必须遍历矩阵,而不是简单地在条件子句中使用它。在我看来,pixels属于char[][]类型。

您需要对其进行迭代,并为每个元素执行以下操作:

if (pixels[i][j] == '*'){
    pixels[i][j] = ' ';
}
else{
    pixels[i][j] = '*';
}

,其中ij是当前坐标。