Ошибка контрольного стиля Java в BlueJ при использовании trackback - PullRequest
1 голос
/ 23 мая 2011

Я делаю алгоритм на Java, используя BlueJ в качестве IDE.Я использую trackback алгоритм для решения проблемы, и все работает отлично, за исключением контрольного стиля.Ошибки контрольного стиля:

Assignment of parameter i is not allowed [on line 336] 
Assignment of parameter j is not allowed [on line 337]

Однако, поскольку трекбек требует, чтобы переменные передавались в качестве аргументов, а также редактировались в соответствии с ситуацией, поэтому я ничего не могу с этим поделать.

Кто-нибудь знает, как это исправить?Это мой код (комментируются строки ошибок):

 public boolean solve(int i, int j) {
        if (i == 9) {
            i = 0; // line 336
            if (++j == 9) { // line 337
                return true;
        }
        }
        ...
        for (int value = 1; value <= 9; ++value) {
            if (possible[value]) {  
                setCell(i,j,value);  
                if (solve(i+1,j)) {
                    return true;
                }
            }
        }
        game[i][j] = 0;
        return false;
}

1 Ответ

5 голосов
/ 23 мая 2011

Вы получаете предупреждение, потому что Checkstyle считает, что изменение аргументов метода является плохой практикой. Или проигнорируйте это (или измените конфигурацию checkstyle), если вы не считаете это плохой практикой, или измените код для работы с копиями аргументов:

public boolean solve(int iIndex, int jIndex) {
    int i = iIndex;
    int j = jIndex;
    // same code as before
}
...