所以我创建了一个名为像素的2D数组。我写了一个方法来在垂直轴上翻转数组并将数组旋转90度。我知道它很简单,我可能会忽略一些简单的东西,但对于我的生活,我无法弄清楚如何反转数组中的数据。数组保存空白值和*值以打印图片。我需要创建一个方法,将所有*转换为空,将所有空白转换为*。
是的,这是家庭作业(实际上是实验室),如果你向我解释这个方法是如何工作的,我相信我可以自己写。只是在这里寻找一些指示。感谢。
编辑:
我的代码不起作用,操作数不匹配错误char [] []和char
public void invert ( ){
if (pixels == '*'){
pixels = ' ';
}
else{
pixels = '*';
}
}
创建数组的代码:
private char[][] pixels =
{ { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
{ ' ', '*', '*', '*', '*', '*', ' ', ' ' },
{ ' ', '*', ' ', ' ', ' ', ' ', ' ', ' ' },
{ ' ', '*', ' ', ' ', ' ', ' ', '*', ' ' },
{ ' ', '*', '*', '*', ' ', ' ', ' ', ' ' },
{ ' ', '*', ' ', ' ', ' ', '*', ' ', ' ' },
{ ' ', '*', ' ', ' ', ' ', ' ', ' ', '*' },
{ ' ', '*', '*', '*', '*', '*', ' ', ' ' },
{ ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' } };
答案 0 :(得分:0)
您必须遍历矩阵,而不是简单地在条件子句中使用它。在我看来,pixels
属于char[][]
类型。
您需要对其进行迭代,并为每个元素执行以下操作:
if (pixels[i][j] == '*'){
pixels[i][j] = ' ';
}
else{
pixels[i][j] = '*';
}
,其中i
和j
是当前坐标。