![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
PrinceOFF |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
Задача: Нужно вводить с клавиатуры числа и считать их сумму, пока пользователь не введёт слово «сумма». Полученную сумму вывести на экран.
К примеру - при вводе "1", "2", "3" и "сумма" данный код выводит на экран "4":
Почему не считается сумма чисел? Почему 13 строка не подсчитывает сумму? Просьба не писать готовый код и куски кода! Я его и так могу посмотреть. Направьте словами, если не сложно. |
||||
|
|||||
Kircul |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 20.2.2007 Репутация: 6 Всего: 7 |
Попробуй ввести так:
Что-то мне подсказывает что тебя ждет сюрприз. |
|||
|
||||
PrinceOFF |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
Да знаю я, что "сюрприз"... В 14 строке у меня получается не условие, как я хотел, а считывание с клавиатуры, что мне не надо... Если я выношу это условие за пределы цикла и приравниваю его к переменной, то опять нарушается условие задачи и эта переменная первая будет получать какое-то значение с клавиатуры (строка 5):
К тому же выбрасывается исключение:
Алгоритм для себя вывел такой: 1. Считываем поток с клавиатуры. 2. Анализируем: 3. Если число - записываем его в переменную sum. 4. Если строка "сумма" - выводим sout с параметром sum, если строка !"сумма" - продолжаем ввод с клавиатуры дальше. Пробовал разные циклы (for, do-while...). Не получается организовать условия (как видно из приведенного выше кода)... Это сообщение отредактировал(а) PrinceOFF - 13.4.2016, 09:31 |
||||
|
|||||
sgrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 15.4.2006 Репутация: нет Всего: 4 |
а считывать ввод в строковую переменную пробовал?
|
|||
|
||||
PrinceOFF |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
Пробовал:
Выбрасывает исключение... Я так понимаю, что я неправильно сформировал условие в строке 10? Или так - будет более правильно по логике:
Но все равно исключение выбрасывает ![]() Это сообщение отредактировал(а) PrinceOFF - 14.4.2016, 11:08 |
||||||
|
|||||||
PrinceOFF |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
I've done it!
Короче, я устал бороться с "ветряными мельницами" и решил задачу через исключение:
Но! На данном этапе учебы я вообще не должен знать, что такое исключение, поэтому фактически задача не решена. Т.е. решена, но не так, как ее решило большинство людей... Наверное надо думать дальше... Это сообщение отредактировал(а) PrinceOFF - 14.4.2016, 11:34 |
|||
|
||||
sgrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 15.4.2006 Репутация: нет Всего: 4 |
возьми свой последний код, и сравнивай строку как раньше
в джаве нельзя строки сравнивать через == и != - они сравнивают ссылки на объект, а не его значение Это сообщение отредактировал(а) sgrey - 14.4.2016, 14:21 |
|||
|
||||
PrinceOFF |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
Ну вот как-то так получается:
Т.е. то, что я решил в предыдущем сообщении по сути не правильно? |
|||
|
||||
sgrey |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 15.4.2006 Репутация: нет Всего: 4 |
то что в этом тоже не правильно ![]() а предыдущее решение - жуткий костыль. Оно будет работать для конкретного случая, но оно неправильно. |
|||
|
||||
PrinceOFF |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
Ясно. Наверное это все попозже будет, пока по условиям задачи это не требуется)
|
|||
|
||||
_zorn_ |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Великая ява...
почему не
??? (это конечно не к яве вопрос). А "всего то" надо было
|
||||||
|
|||||||
PrinceOFF |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
Мне сочетание этих трех букв больше всего нравится (я имею в виду for) и приятно для слуха ![]() |
||||||
|
|||||||
_zorn_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Выглядит ужасно
![]() Это сейчас у тебя академический интерес, но потом же это войдет в привычку... и кто то будет материться... если твой код кроме тебя к кому нибудь попадет конечно. Ты смог бы сходу сказать что делает for (;true;) если только учился программированию ? Все то что вынуждает ВСПОМИНАТЬ конструкции ЗЛО. Это сейчас ты балуешься циклами, а в будущем начнешь называть классы MBSC. В рассшифровке MyBestSuperClass... разве не понятно ? Я веду к тому что ОБЩЕПРИНЯТО бесконечные циклы через while (true) делать. А если однажды ты напишешь for (true;;) ??? Долго баг искать будешь УВЕРЕННЫМ ЧТО У ТЕБЯ ВСЕ РОВНО ? Сказки ЧТО ТЫ НИКОГДА ТАКОГО НЕ НАПИШЕШЬ можешь оставить при себе ![]() А еще в пхп клевое выражение есть
Что выведет этот код ? ![]() Задача на внимательность... Вот после таких "задач" и задумайся, а стоит ли вые.. в написании. Я в свое время почти полдня потратил чтобы понять почему мой код работает по космическим законам, а не по моим... Это сообщение отредактировал(а) _zorn_ - 15.4.2016, 19:44 |
|||
|
||||
PrinceOFF |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
1) Я понял - "ужасно".
2) Не войдет в привычку, потому как - п.1) 3) Я не учился программированию и классической университетской базы у меня нет. Просто вот изучаю потихоньку java. 4) Не понял эту фразу:
5) Эту фразу тоже не понял:
В смысле - расшифровка ясна, а вот почему я начну называть классы именно в стиле MBSC - нет, не понял. Никогда так классы не называл, даже в маленьких задачках, но если ты советуешь, то я попробую ![]() 6) Не изучал пхп...
Поэтому ХЗ что это выражение обозначает. Может "0"? Хотя я не внимательный...
Вот видишь, ты "все знаешь" (понимаешь о чем я), а все равно ошибку допустил, а я так... пол шажка сделал... потому и не знаю того, о чем ты пишешь... P.S. Я все же решил дописать... Мало ли, не та тональность ответа, вдруг))) На самом деле спасибо за комментарий, потому что, все что говорится, все, что я слышу от программистов - это в любом случае откладывается в памяти - осознанно или неосознанно - и это хорошо. Это советы, это опыт... Это сообщение отредактировал(а) PrinceOFF - 15.4.2016, 21:32 |
||||||||
|
|||||||||
_zorn_ |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Так и пытаюсь тебя от своих ошибок избавить ![]() Для начала объясню что тут происходит, а как это получилось думаю сам поймёшь )
точка с запятой после цикла означает "пустой цикл" (просто тупо будут перебираться условия пока он не закончится). Сами по себе фигурные скобки просто выделяют блок в другой области видимости (scope). т.е. ты впринципе в любом месте кода можешь заюзать. А так как цикл закончен то мы просто выполняем выражение. В итоге получается как будто цикл прошел один раз. У меня получилось е..тня просто и за за того что на автомате поставил точку с запятой. Тут конечно виноват пхп что позволяет такое непотребство, но не зарекайся что ява тебя не зае... своей через чур строгой типизацией. По своему опыту скажу - строгая типизация НАКАЛЯЕТ. А проблемы которые она ПЫТАЕТСЯ решить, решаются одним подобным моему факапом (то есть просто надо разобратсья). Только вот факап случается гораздо реже, чем приходится пользоватьсяс этими Integer.valueOf() ЗЫ: Да еще вот это вот по каждому чиху бросать исключение в яве НАКАЛЯЕТ. В итоге все делают throws а дальше е.. как хотите. Это сообщение отредактировал(а) _zorn_ - 15.4.2016, 22:31 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |