java中的棋盘格模式,带有嵌套for循环和2x2分组

java中的棋盘格模式,带有嵌套for循环和2x2分组,java,for-loop,Java,For Loop,我完全被这个介绍性的java家庭作业问题难住了。我们必须使用嵌套for循环来制作由X和O组成的m×n棋盘。M是行数,N是列数。我可以用下面的代码制作一个普通的棋盘格模式,但让我头疼的是,他们希望将字符分组为2x2组。因此,对于下面发布的代码,最终结果应如下所示: XXOO XXOO OOXX 我相信这并没有那么难,但我已经试了好几个小时我所能想到的一切,但似乎仍然没有弄明白。我感到非常沮丧,这也无助于事情的发展:/提前感谢所有的帮助 public class Homework { pu

我完全被这个介绍性的java家庭作业问题难住了。我们必须使用嵌套for循环来制作由X和O组成的m×n棋盘。M是行数,N是列数。我可以用下面的代码制作一个普通的棋盘格模式,但让我头疼的是,他们希望将字符分组为2x2组。因此,对于下面发布的代码,最终结果应如下所示:

XXOO
XXOO
OOXX
我相信这并没有那么难,但我已经试了好几个小时我所能想到的一切,但似乎仍然没有弄明白。我感到非常沮丧,这也无助于事情的发展:/提前感谢所有的帮助

public class Homework
{
    public static void main (String[] args)
    {
        int m = 3;
        int n = 4;
        for(int rows = 0; rows<m; rows++)
        {
            for(int cols = 0; cols<n; cols++)
            {
                if((rows+cols)%2 ==0) System.out.print("X");
                else System.out.print("O");
            }
            System.out.println();
        }
    }
}
公共课堂作业
{
公共静态void main(字符串[]args)
{
int m=3;
int n=4;

对于(int rows=0;rows对于
rows
cols
的每个值,如果它们都是0或1,或者都是2或3,则打印
X
。值中倒数第二位包含该信息;如果是0或1,则为
0
,如果是2或3,则为
1
。您需要知道两个值上的特定位。)使用
value&2
提取倒数第二位

如果两者相同(均为0或均为1),则打印
X
;如果两者不相同,则打印
O

XX  |  OO
    |
XX  |  OO
(1) |  (2)
----+----
(3) |  (4)
OO  |  XX
    |
OO  |  XX
  • 在场景(1)中,从第二位到最后一位都是0
  • 在场景(2)中,行的倒数第二位是0,而列的是1
  • 在场景(3)中,行的倒数第二位是1,而列的是0
  • 在场景(4)中,从第二位到最后一位都是1

如果两个倒数第二位相同,则打印
X
,否则打印
O

假设每对行都是一个“胖行”。然后第0行和第1行是“胖行0”的一部分,第2行和第3行是“胖行1”的一部分,第4行和第5行是“胖行2”的一部分,依此类推。您能想出如何将行号转换为“胖行”吗编号?如果是,则为
(行+列)%2==0
如果您使用fat行和fat列编号,则检查将起作用。在上面给出的示例中,由于只有三行,是否应
m=3
?如果是这样,您如何将它们分为四个2乘2组?可能您忘了放第四行?刚刚编辑了我的代码,只是我输入的m和n值有误。