Creating a Magic Square in java

后端 未结 2 1623
轮回少年
轮回少年 2021-01-23 03:31

I have to write a program that takes in an odd number from the user and creates a magic square. A magic square is one where the sum of each row, column, and diagonal is the same

2条回答
  •  佛祖请我去吃肉
    2021-01-23 04:01

    The logic of your square ensures that the top right corner is never written to.

    if in the upper right corner, then drop down to next row.

    And here's the code that does it...

    if (row == 0 && column == n - 1) {
        column = n -1;
        row += 1;
    

    So, you're always going to move away from that location before you enter any value on your next iteration. You don't actually need that line that sets the column to n - 1 as it's already n - 1 by definition of the logic above it.

    You're actually writing the value 2 to the second row, third column. It is then later overwritten by the value 5. If you output the values of your array after each iteration of your program, then you'll see how the state of your model is changing.

提交回复
热议问题