Обновить

Комментарии 26

НЛО прилетело и опубликовало эту надпись здесь
image

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

Пару миллионов? В 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 есть.

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

public void startGame()
{
while(!quit){

}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

как улучшение хотел бы посоветовать хранить номер в short int(16 bit) и цифры номера получать в геттерах с помощью деления и остатков от деления. Как по мне 4 int слишком толсто для для 4 цифр
BCD
только за рулём не играйте…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации