Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 20 из 66

Тема: Java программирование для нубов

  1. #1
    Новичок
    Регистрация
    23.02.2014
    Сообщений
    28

    Java программирование для нубов

    Спасибо всем людям которые подошли к моей прошлой теме без насмешки, и дали мне подсказки что мне делать.

    В итоге я взял пособие по которому сейчас занимаюсь.

    В этом пособии дали задание найти ошибку в программе из-за которой она выдаёт ответ не соответствующий ожиданию. Вообщем вот она:

    public class bear {

    public static void main(String[] args){
    int x = 99;
    String word = "бутылок";

    while (x > 0) {
    if (x == 1) {
    word = "бутылка";
    }
    if (x == 4) {
    word = "бутылки";
    }
    System.out.println(x + " " + word + " " + "пива на стене");
    System.out.println(x + " " + word + " " + "пива");
    System.out.println("Возьми одну");
    System.out.println("Пусти по кругу");
    x = x - 1;
    if (x > 0) {
    System.out.println(x + " " + word + " " + "пива на стене");
    } else {
    System.out.println("Нет" + " " + word + " " + "пива на стене");
    }
    }
    }
    }


    Получаемый ответ:

    5 бутылок пива на стене
    5 бутылок пива на стене
    5 бутылок пива
    Возьми одну
    Пусти по кругу
    4 бутылок пива на стене
    4 бутылки пива на стене
    4 бутылки пива
    Возьми одну
    Пусти по кругу
    3 бутылки пива на стене
    3 бутылки пива на стене
    3 бутылки пива
    Возьми одну
    Пусти по кругу
    2 бутылки пива на стене
    2 бутылки пива на стене
    2 бутылки пива
    Возьми одну
    Пусти по кругу
    1 бутылки пива на стене
    1 бутылка пива на стене
    1 бутылка пива
    Возьми одну
    Пусти по кругу
    Нет бутылка пива на стене

    (я не стал писать полный ответ по понятным причинам)

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

    Если можете пожалуйста объяснить как так получается.

  2. #2
    Сначала поправь форматирование

  3. #3
    Новичок
    Регистрация
    23.02.2014
    Сообщений
    28
    Цитата Сообщение от Winterhearted Посмотреть сообщение
    Сначала поправь форматирование
    то бишь поправить форматирование?? (задачку я эту решил, мне нужно узнать почему первый принт сразу не реагирует на изменение в ворде??)

  4. #4
    Новичок Аватар для SUDALV
    Регистрация
    10.03.2013
    Адрес
    Пушкино (за мкадом)
    Сообщений
    0
    не понял, а какой вывод должен быть? мне кажется показаный вывод не совпадает с кодом либо я туплю

  5. #5
    Активный участник
    Регистрация
    17.05.2010
    Сообщений
    3,794
    Цитата Сообщение от Moy_Povelitel Посмотреть сообщение
    то бишь поправить форматирование?? (задачку я эту решил, мне нужно узнать почему первый принт сразу не реагирует на изменение в ворде??)
    Добавь последними символами к каждому принту разные цифры и сразу поймёшь в чём дело. Программа работает так, как она написана, а не так, как ты хочешь, чтобы она работала.
    А вот тут можно почитать про крутые ритм-игры: тык

  6. #6
    del11
    Последний раз редактировалось Hibonicus; 29.01.2015 в 22:59.
    5.11.17

  7. #7
    Новичок
    Регистрация
    23.02.2014
    Сообщений
    28
    Цитата Сообщение от Weedle Посмотреть сообщение
    Добавь последними символами к каждому принту разные цифры и сразу поймёшь в чём дело. Программа работает так, как она написана, а не так, как ты хочешь, чтобы она работала.
    лол понял, я значит нашел не то решение....

  8. #8
    Новичок
    Регистрация
    10.07.2011
    Сообщений
    1
    это такой говнокод, что даже пролистывать противно

  9. #9
    Новобранец
    Регистрация
    17.05.2010
    Адрес
    Minsk
    Сообщений
    40
    потому что ты печатаешь последний принт уже после изменения х, а ворд устанавливаешь лишь на следующей итерации цикла

  10. #10
    Цитата Сообщение от greymen Посмотреть сообщение
    это такой говнокод, что даже пролистывать противно
    Он же только учится, да и тут форматирования не работает нормально
    5.11.17

  11. #11
    Активный участник
    Регистрация
    02.09.2011
    Сообщений
    425
    Цитата Сообщение от Moy_Povelitel Посмотреть сообщение
    В итоге я взял пособие по которому сейчас занимаюсь.
    что за пособие?

  12. #12
    Новичок
    Регистрация
    23.02.2014
    Сообщений
    28
    Цитата Сообщение от Gaspard Посмотреть сообщение
    что за пособие?
    изучаем java 2-е издание Автор: Сьерра К., Бэйтс Б

  13. #13
    забанен навсегда
    Регистрация
    04.10.2014
    Сообщений
    1,751
    http://www.coderanch.com/t/407418/ja...tles-beer-song

    Можешь тут почитать про эту задачу.

  14. #14
    Освоившийся
    Регистрация
    11.09.2010
    Сообщений
    229
    Хз как в этой нубскай джаве с областями видимости, но очевидно, что просто переменная после прохода всего условия возвращает то значение, которое имела на момент выхода из шага.

    Также как и очевидно, что тс бездарь и не может в табуляцию.

  15. #15
    Новобранец
    Регистрация
    17.05.2010
    Адрес
    Minsk
    Сообщений
    40
    ТС, если ты не понял, что я написал, то скажи. Я могу и подсказать, как исправить

  16. #16
    Активный участник
    Регистрация
    18.08.2010
    Сообщений
    2,121
    Цитата Сообщение от Ультвэ Посмотреть сообщение
    Также как и очевидно, что тс бездарь и не может в табуляцию.
    тс бездарь и не знает про пастебин
    //

  17. #17
    Новичок
    Регистрация
    23.02.2014
    Сообщений
    28
    Цитата Сообщение от KUK Посмотреть сообщение
    ТС, если ты не понял, что я написал, то скажи. Я могу и подсказать, как исправить
    видл уже подсказал я нашел

  18. #18
    Освоившийся
    Регистрация
    11.09.2010
    Сообщений
    229
    Цитата Сообщение от Salex Посмотреть сообщение
    тс бездарь и не знает про пастебин
    Не гони лошадей, это следующий шаг на пути просветления адепта

    Каково же будет его удивление через полгода, когда он узнает про ide и автокомплит

  19. #19
    Новобранец
    Регистрация
    17.05.2010
    Адрес
    Minsk
    Сообщений
    40
    Я бы еще советовал не приучать себя писать " " + "текст". Потому что так ты создаешь 3 объекта вместо одного. Не такая большая проблема в одном месте, но если писать аккуратно, то и память будешь экономить и процессорное время. Вот был бы у тебя цикл на 1кк проходов, сколько бы лишних объектов создавалось.

  20. #20
    Активный участник
    Регистрация
    12.07.2014
    Сообщений
    358
    Цитата Сообщение от greymen Посмотреть сообщение
    это такой говнокод, что даже пролистывать противно
    чувак сам сказал что не его решение, а осознать как работает код ну это такое, либо сразу либо пока думать не начнёшь

Страница 1 из 4 123 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Подскажите книгу для изучения java
    от dagestanec228 в разделе Общий форум
    Ответов: 39
    Последнее сообщение: 10.08.2016, 09:47
  2. Java
    от RegoN в разделе Софт
    Ответов: 35
    Последнее сообщение: 09.06.2014, 00:17
  3. [minecraft]Проблема с Java
    от BanelingsAreCool в разделе Minecraft
    Ответов: 6
    Последнее сообщение: 03.04.2011, 13:34

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •