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

    +79

    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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    public String FormatDocumentNumber(String docNum)
        {
            int len = docNum.length();
            int lenDiff = len - Integer.toString(this.document_num).length();
            char[] arr = docNum.toCharArray();
            char[] number = Integer.toString(this.document_num).toCharArray();
            
            for(int i=0; i<len; i++)
            {
                    arr[i] = '0';
            }
    
            for(int i=0; i<number.length; i++ )
            {
                arr[lenDiff+i] = number[i];
            }
    
            StringBuffer sb = new StringBuffer();
            for(int i=0; i<len; i++)
            {
                sb.append(arr[i]);
            }
    
            return sb.toString();
        }

    Как сделать красивую функцию, которая формирует строку определенной длины с числом с ведущими нулями?

    Запостил: nolka4, 17 Мая 2010

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

    • действительно, зачем нам нужен дурацкий format()
      Ответить
      • ну я еще не в теме всех тонкостей джавы, 3 дня назад для себя открыл ее :)
        Ответить
        • Лучше закрой обратно, пока мозг не покалечил.
          Если сильно нужен язык на основе JVM то Scala (http://scala-lang.org/) будет куда лучшим выбором. Есть еще Clojure, но уж лучше вместо него ту же Схему использовать.
          Ответить
          • двачую. скалочка хороша XD
            Ответить
          • поздно. после C# джава кажетса пиздецом :D

            Мне нужно было написать кроссплатформенную гуевую программулину, выбор пал на джаву, т.к. C++ подобные языки я не люблю. Заодно и язык посмотреть шанс появился ;)
            Ответить
            • после жабы шарп кажецо писдетсом
              Ответить
              • ннооо, а ты парсил в жаве xml? в шарпе это в 1 строчку делаетса, на джаве нужно 3 объекта разных типов создать чтобы это сделать. ебанулись они там :D
                Ответить
                • ага, и тудой и обратно. в итоге плюнул и взял castor как б-м грамотный подход к jaxb
                  Ответить
                • Это в стандартной поставке JDK. Сделано это только для легаси и переносимости на другие имплементации JRE. Теоретически никто тебе не мешает сделать это в одну строчку (в основном, для DOM, но есть фрэймворки и для SAX) или настроить парсинг до мелочей (быстрый SAX parsing).
                  http://www.jdom.org/
                  http://xerces.apache.org/xerces2-j/
                  Ответить
            • >после C# джава кажетса пиздецом
              С каждым годом программеры становятся всё ленивее.
              Так скоро мышкой начнут программировать, а то и просто делать полную постановку задачи и получать код-решения. :)
              Ответить
            • то же прослеживается и в обратном направлении
              Ответить
      • Этот код можно заменить по сути на String.format("%08d", this.document_num); ?
        нет IDE под рукой чтобы проверить.
        Ответить

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