1. Java / Говнокод #5008

    +81

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    // gotta love this hack
        final private static String PADDING =
                "                                                                                   ";
    
        private static String stringFormat(String stringToFormat, int fieldSize, boolean rightJustify) {
            // and Java doesn't really excel at this kind of thing either
            if (stringToFormat.length() >= fieldSize) {
                return stringToFormat.substring(0, fieldSize);
            } else {
                return rightJustify ?
                        PADDING.substring(0, fieldSize - stringToFormat.length()) + stringToFormat:
                        stringToFormat + PADDING.substring(0, fieldSize - stringToFormat.length());
            }
        }

    Запостил: Smoke, 21 Декабря 2010

    Комментарии (4) RSS

    • очаровательная логика. Особенно хардкод ПАДДИНГ
      Ответить
    • Нет проверки случая
      fieldSize > stringToFormat.length() + PADDING.length()
      остальное не ГК.
      Ответить
      • дык субстринг обрежет лишнее, не?
        Ответить
        • Я про то, что длины PADDING теоретически может не хватить для заданного fieldSize. Тут можно сделать что-нибудь вроде
          while (fieldSize > stringToFormat.length() + PADDING.length())
            PADDING += PADDING;
          Ответить

    Добавить комментарий