Хаскель Монад связать оператор путаницы

Я пытаюсь сделать то же самое в Java ... Я написал следующий код:

private String getExcelColumnName(int columnNumber) {

    int dividend = columnNumber;
    String columnName = "";
    int modulo;

    while (dividend > 0)
    {
        modulo = (dividend - 1) % 26;

        char val = Character.valueOf((char)(65 + modulo));

        columnName += val;

        dividend = (int)((dividend - modulo) / 26);
    } 

    return columnName;
}

Теперь, когда я запустил его с columnNumber = 29, он дает мне результат = «CA» (вместо «AC») какие-либо комментарии, что мне не хватает? Я знаю, что могу изменить его на StringBuilder ... Но, глядя на ответ Грэма, я немного смущен ....

30
задан Will Ness 17 December 2018 в 19:39
поделиться