Pull to refresh

Comments 26

UFO just landed and posted this here

Ну да, если найдется юзер, который за один сеанс введет пару миллионов ответов подряд, то для него смысл игры будет именно в этом. :)

Пару миллионов? В JRE размер стека по-умолчанию — 512 килобайт. Если мы возьмём ОЧЕНЬ оптимистичный расчёт в 16 байтов на фрейм (два указателя на x86_64, мизер), то в стек поместится ~ 32k вызовов, или 16k ваших чудесных итераций. Хоть этот предел и сложно достичь, но мне всё-таки кажется, что код стоит переписать.

Вот с вашим комментарием по делу очень согласен. Подскажете как именно переписать?

Ну что-то в таком духе:
    void startGame() {
        System.out.println(String.format(GreetingMessage, exitWord));
        while (true) {
          String inputWord = readLine();
          if (!checkInputWord(inputWord))
            break;
        }
    }

    private boolean checkInputWord(String inputWord) {
        if (inputWord.equals(exitWord)) {
            System.out.println(GoodByeMessage);
            return false;
        }
        System.out.println(String.format(InputAcceptMessage, inputWord));
        return true;
    }

Цикл вместо рекурсии — ваша правда. Наверное, можно даже checkInputWord(inputWord) вынести в условие цикла, а перед циклом сделать String inputWord = readLine(), чтоб избежать while (true). Спасибо вам за адекватный ответ.

Вместо дублирования readLine можно использовать цикл do {} while (); Не уверен, что аналогичные конструкции есть в других языках, но в Java есть.

Точно. Так правильнее всего. Спасибо.

Вы, кстати, свое предположение подтвердили экспериментом? Удалось добиться краша? :)

Автор тот ещё тролль — серия АК (Крым), да ещё и на синем фоне (типа Евросоюз)…

Это не "типа Евросоюз", это — современный украинский автомобильный номер. :)

А за внимательность — вам плюсы в карму. :)

Автору кодить еще учиться. А за номерок респект.
Автору кодить еще учиться

Чем автор, собственно и занимается. :)

Раньше я заходил на хабр почитать классные большие статьи с кучей технических подробностей о том чего я не знал. А теперь захожу посмотреть на программку на 4-х языках, которая пока что просто выводит номер, а в дальнейшем будет складывать и умножать его числа. Мда.
Вам конечно успеха, но практического смысла я не увидел. Совсем. Извините.
Очень печально, что люди воспринимают Хабр как площадку исключительно для профессионалов. По мне так вариативность материала на разный вкус и уровень — это преимущество, а не недостаток.

Простите, а мне, в свою очередь, очень печально что Хабр воспринимают как площадку, где можно публиковать статьи, место которым на первых страницах учебников по программированию. Там где знакомство с операторами языка.

Мир не идеален, а жизнь несправедлива. Да. :(

Дело в том, что «сложность» статьи — это субъективное оценочное суждение. Всегда найдется тот, кто посчитает статью любой сложности «легкой и недостойной». Именно поэтому существуют механизмы:
— оценочные: Вы можете проголосовать за статью негативно или позитивно
— фильтрационные: выбрать лучшее, все подряд и так далее
— подписки-отписки.

Так что если Вы прочитали эту статью, то тут есть выбор из двух причин:
— Вы не умеете фильтровать контент
— Общее мнение хабра-сообщества положительно в противовес вашему единичному отрицательному.

Я не понимаю зачем же вы заходите посмотреть на эту программку? Разве я ввел вас в заблуждение текстом до ката?

Если честно, то да. Из вашего названия я решил что у вас будет распознавание этих самых номеров с камеры (заходил через ВК, так что не увидел в каких хабах размещён пост).

как улучшение хотел бы посоветовать хранить номер в short int(16 bit) и цифры номера получать в геттерах с помощью деления и остатков от деления. Как по мне 4 int слишком толсто для для 4 цифр
Sign up to leave a comment.

Articles