【问题标题】:write a code in a more simpler way [duplicate]以更简单的方式编写代码[重复]
【发布时间】:2017-02-20 01:30:02
【问题描述】:
int[][] board = new int[i][i];
int row = 0;
int col = i / 2;
int num = 1;
while (num <= i * i) {
    board[row][col] = num;
    num++;
    int tCol = (col + 1) % i;
    int tRow = (row - 1) >= 0 ? row - 1 : i - 1;
    if (board[tRow][tCol] != 0) {
        row = (row + 1) % i;
    } else {
        row = tRow;
        col = tCol;
    }
}
System.out.println("Number of wins: " + ifCorrect);
M.Print(i, board);

上面的代码是创建魔方的代码。如何以更简单的形式编写下面的代码,以便 java 初学者理解?

int tRow = (row - 1) >= 0 ? row - 1 : i - 1;

【问题讨论】:

    标签: java magic-square


    【解决方案1】:

    为了简化行(对于初学者程序员):

    int tRow = (row - 1) >= 0 ? row - 1 : i - 1;
    

    让我们扩展三元表达式,并将(row-1) &gt;= 0简化为等效的row &gt;= 1

    int tRow;
    if (row >= 1) {
        tRow = row-1;
    } else {
        tRow = i - 1;
    }
    

    【讨论】:

    • 对不起@Tunaki;您已经正确地发现我写得太快了,并且没有足够仔细地参考原始代码。我现在已经编辑了我的答案。
    猜你喜欢
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多