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

    −1

    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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    System.out.println("\nNames in alphabetical order: ");
                 if(name1.compareTo(name2) > 0) {
                            if(name2.compareTo(name3) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name3,
                                                    name2,
                                                    name1); //cba 2
                            }
                            else if(name3.compareTo(name2) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name2,
                                                    name3,
                                                    name1); //bca 3
                            }
                    }
                    else if(name2.compareTo(name1) > 0) {
                            if(name1.compareTo(name3) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name3,
                                                    name1, 
                                                    name2); //cab 1
                            }
                            else if(name3.compareTo(name1) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name1,
                                                    name3,
                                                    name2); //acb 5
                            }
                    }//bac i abc
                    else if(name3.compareTo(name1) > 0) {
                            if(name1.compareTo(name2) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name2,
                                                    name1,
                                                    name3);
                            }
                            else if(name2.compareTo(name1) > 0) {
                                    System.out.printf("%s\n%s\n%s\n",
                                                    name1,
                                                    name2,
                                                    name3);
                            }
                    }

    Снова пытался отсортировать три строки по алфавиту.
    У меня опять получилась вместо нескольких строк простыня.
    Что со мной не так?
    Но, по крайней мере, она работает как надо.

    Запостил: marincv, 29 Июля 2020

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

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

        Если a < b и с < b, то может так оказаться, что c лежит на промежутке от a до b, а может оказаться, что c лежит левее a.

        В общем случае нужно три сравнения.
        Ответить
    • > Что со мной не так?
      Ты пытаешься решить задачу «в лоб», не пытаясь разделить её на подзадачи. Программирование так не работает.

      Отсортируй пять строк и подумай, что ты делаешь со своей жизнью как можно решить эту проблему иначе.
      Ответить
      • Спасибо.
        Эта задача из книги. В тех главах, что я прошел - не было упоминаний ни о циклах, ни о массивах и т. п. Я думал, что смысл задачи именно в том, чтобы сделать без всех этих штук.

        Sorted Names (Starting out with java. From control structures through Data Structures, Tony Gardis. p. 331)
        Write a program that asks the user to enter three names, and then displays the names sorted in ascending order. For example? if the user entered "Charlie", "Leslie", and "Andy", the program would display:
        Andy
        Charlie
        Leslie
        Ответить
    • import java.util.*;
      import java.lang.*;
      import java.io.*;
      
      class Ideone {
          public static void main (String[] args) throws java.lang.Exception {
              String pituh1 = "Kokoko";
              String pituh2 = "Kudkudah";
              String pituh3 = "Kukareku";
      
              int order = (pituh1.compareTo(pituh2) > 0 ? 1 : 0)
                        | (pituh2.compareTo(pituh3) > 0 ? 1 : 0) << 1
                        | (pituh3.compareTo(pituh1) > 0 ? 1 : 0) << 2;
      
              switch(order) {
                  case 0:  System.out.printf("%s\n", "Kakoi bagor)))"); break;
                  case 1:  System.out.printf("%s\n%s\n%s\n", pituh2, pituh3, pituh1); break;
                  case 2:  System.out.printf("%s\n%s\n%s\n", pituh3, pituh1, pituh2); break;
                  case 3:  System.out.printf("%s\n%s\n%s\n", pituh3, pituh2, pituh1); break;
                  case 4:  System.out.printf("%s\n%s\n%s\n", pituh1, pituh2, pituh3); break;
                  case 5:  System.out.printf("%s\n%s\n%s\n", pituh2, pituh1, pituh3); break;
                  case 6:  System.out.printf("%s\n%s\n%s\n", pituh1, pituh2, pituh2); break;
                  case 7:  System.out.printf("%s\n", "Kakoi bagor)))"); break;
              }
          }
      }


      https://ideone.com/jDEi8Z
      Ответить
      • а что будет, если вдруг в чешуе, как жар горя, тридцать-три петуха случится?
        Ответить
        • Проведём 1/16 финала, 1/8 финала, четвертьфинал, полуфинал, выжившие попадут в финал.
          Ответить
          • хорошее решение

            Можно его распаралеллить еще. Мап питуз
            Ответить
            • Для начала задачу нужно с «name1», «name2», «name3» переписать на массивы или на «коллекции всякие там, листы». А дальше использовать любой алгоритм сортировки. Для тридцати трёх петухов за эффективностью алгоритма можно не гнаться.
              Ответить
          • Ахаха
            Ответить
      • Спасибо. Интересный код, смешной.
        Эта задача из книги. В тех главах, что я прошел - не было упоминаний ни о циклах, ни о массивах и т. п. Я думал, что смысл задачи именно в том, чтобы сделать без всех этих штук.

        Sorted Names (Starting out with java. From control structures through Data Structures, Tony Gardis. p. 331)
        Write a program that asks the user to enter three names, and then displays the names sorted in ascending order. For example? if the user entered "Charlie", "Leslie", and "Andy", the program would display:
        Andy
        Charlie
        Leslie
        Ответить
    • А вы массив проходили уже? А коллекции всякие там, листы?
      Ответить
      • Нет, не проходил. Эта задача из книги. В тех главах, что я прошел - не было упоминаний ни о циклах, ни о массивах и т. п. Я думал, что смысл задачи именно в том, чтобы сделать без всех этих штук.

        Sorted Names (Starting out with java. From control structures through Data Structures, Tony Gardis. p. 331)
        Write a program that asks the user to enter three names, and then displays the names sorted in ascending order. For example? if the user entered "Charlie", "Leslie", and "Andy", the program would display:
        Andy
        Charlie
        Leslie
        Ответить
        • Чтобы расставить A, B, и C в порядке неубывания, нужно сравнить
          A и B
          B и C
          Результаты этих сравнений
          то-есть три шага.


          Но как-то странно заниматься такими вещами не изучив сначала массив:)
          Ответить
          • В Джаве просто сразу дают решать энтерпрайзные задачи, а не вот эти твои массивы колупать. Это серьёзный язык, он когда-то на трёх миллиардах устройств был установлен!
            Ответить
            • А теперь на скольких?
              Ответить
              • Инканкус, зайди под каким-нибудь нормальным аккаунтом, пожалуйста, а то я Муху в игнор на нгк отправил.

                )))
                Ответить
                • Приведи реальный пример нормального аккаунта.
                  Ответить
                  • Я привык к Тензорному, он интеллектуал и эрудит.
                    Ответить
                • > а то я Муху в игнор на нгк отправил.
                  https://gcode.space/#!/blacklist же.
                  Ответить
            • Тогда надо начинать с серьезных задач, а не с сортировки.

              Глава первая: Менеджер инъекций зависимостей в абстрактную фабрику стратегий и делегаты
              Ответить
            • Просто в Йажа массивы плохо зделаны тупо.
              Немогли зделать всё как в C++!!! И сравнения и управление. Не рекоминдую такую Йажу!!!
              Ответить
              • А какую Йажу рекомендуете?
                Ответить
                • Рекомендую четвертую йажу: без генериков, енумов и функци-анальщины.
                  Очень полезно для внимательности
                  Ответить
              • Никогда я не поглажу
                Плохо сделанную Йажу
                Ответить
                • Йажа ведь обыкновенно делается в Калифорнии; и прескверно делается. Я удивляюсь, как не обратит на это внимание ECMA. Делает её хромой бочар, и видно, что дурак, никакого понятия не имеет о Йаже.
                  Ответить
                  • Назови язык программирования из Англии
                    Я только компютеры помню

                    https://en.wikipedia.org/wiki/Micro_Men
                    Ответить
                    • Синклеровский диалект «Бейсика».
                      Ответить
    • https://web.archive.org/web/20200716215802/https://www.kommersant.ru/doc/4417608

      Во время эпидемии зафиксирован высокий спрос на низкоквалифицированных специалистов. Лидерами рейтинга стали врачи, грузчики и программисты.
      Ответить
      • Просто очень много низкоквалифицированных специалистов пошли работать в СМИ. Хорошо, хоть исправили.

        Правда, кое-какая дичь осталась:

        Во второй десятке самых востребованных профессий оказались инженеры, слесари, Data-аналитики, продавцы, кадровые специалисты и конструкторы.

        А конструкторы это не инженеры? И в нашей классификации программисты это тоже инженеры. Или имеются в виду те engineers, которые машинисты поездов?
        Ответить
        • В последней версии так:

          грузчики,
          программисты,
          разработчики программного обеспечения,
          водители,
          Ответить
          • водители
            шофёры
            операторы баранки
            крутилы круглой штуки
            наездники
            Ответить
          • На самом деле журнашлюхи правы.

            Мы с gost не так давно обжусдали тотальную бесполезность и малоквалифицированность современного «IT».
            https://govnokod.ru/25801#comment517707
            Ответить
            • Ты давно вуз окончил?
              Ответить
            • Кстати, а define "высоковалифицрованный"?

              Как понять: я выскоко или низко?
              Ответить
              • >Как понять: я выскоко или низко?
                Чем выше взбирается Макака, тем лучше видна её питушня.
                Ответить
              • Ты сам себя как специалист удовлетворяешь? Остальное волновать не должно в принципе
                Ответить
                • Понятия не имею

                  На фоне обычного быдлокодера с галер я вроде ничо, но некоторые треды на говнокод.ру заставляют меня думать, что мне следовало бы знать больше
                  Ответить
                  • > но некоторые треды на говнокод.ру заставляют меня думать, что мне следовало бы знать больше
                    Не беспокойся, даже сами K&R были бы озадачены ворец-тредами.
                    Ответить
        • >инженегры

          И здесь вышла очепяточка у низкоквалифицированных специалистов по массовой дезинформации.
          Ответить
      • Это твоя ветка?
        Ответить

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