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

    +75.4

    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
    private int convertToInt(String substring) {
            int result = 0;
            for (int i = 0; i < substring.length(); i++) {
                switch(substring.charAt(i)){
                    case '1':   result = result*10 + 1; break;
                    case '2':   result = result*10 + 2; break;
                    case '3':   result = result*10 + 3; break;  
                    case '4':   result = result*10 + 4; break;  
                    case '5':   result = result*10 + 5; break;
                    case '6':   result = result*10 + 6; break;
                    case '7':   result = result*10 + 7; break;
                    case '8':   result = result*10 + 8; break;
                    case '9':   result = result*10 + 9; break;
                    case '0':   result = result*10 + 0; break;
                }
            }
            return result;
        }

    Запостил: guest, 10 Июня 2009

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

    • bl:
      Мдяяяя, мало того что бред, так еще и заточен только под десятичную сис-му исчисления.
      Ответить
    • Представляю, как будет выглядеть обратная операция.
      Ответить
    • Решается в одну строку:)

      Чел не осилил класс Integer
      Ответить
    • GrayCardinal:
      Хоть яву и не знаю, но всё равно LOL
      Ответить
    • 1 курс любого вуза лаба по основам алгоритмизации - перевести строку в число. без использования встроенных средств языка. типа вы такого не писали.
      Ответить
    • Xaionaro:
      #5: зачем "switch()", говоря Сишным языком, почему не сделать?: result = result*10 + (c - '0');
      Ответить
    • Xaionaro:
      А вообще, если уж 1ый курс, "говоря Сишным языком", можно задать массив с предопределёнными значениями для каждого символа и делать result=result*10 + M[(unsigned char)str[i]];

      И я привык видеть, что алгоритмизации обычно учатся не на "Java" :)...
      Ответить
    • Как образчик параноидального кода вполне имеет право на жизнь - традиционные алгоритмы уповают на то, что цифровые символы идут по порядку начиная с '0' и такое допущение параноиков может напрягать :)

      Разве что стоит оптимизировать:

      private static final String DIGITS = "0123456789";
      private int convertToInt(String s)
      {
      int result = 0;
      for (int i = 0; i < s.length(); i++)
      {
      result = result * DIGITS.length() + DIGITS.indexOf(s.charAt(i));
      }
      return result;
      }
      Ответить
    • а с чего вы взяли что там только числа в сторке этой?
      Ответить
    • похоже, что говнокод взят отсюда:
      http://lurkmore.ru/Вайп / Многопоточная вайпалка на джаве
      особенно умиляет постскриптум автора:
      P.S. Быдлошкольники и неумеющие кодить могут сразу проходить мимо...
      Ответить

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