![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Julia9311 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 6.12.2012 Репутация: нет Всего: нет |
Программа вычисляет порядковый день в году с учетом високосного года. Если дней больше 30 (31) и и февраль больше 28(29), необходимо генерировать исключения. Но следующее условие проверяется только тогда, когда все вышеперечисленные условия прошли успешно. Как мне сделать так, чтобы проверялось по одному условию и если оно не верно, генерировалось исключение?
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
вместо всех этих if-ов:
заведите массив (readonly static) на 12 элементов (индекс элемента есть номер месяца, только не забывайте что массивы индексируются с нуля), где значением элемента будет длина месяца в днях. далее просто сравните элемент массива по индексу [Month-1] с d и сгенерируйте исключение. Т.о. сложность алгоритма станет О(1). Это сообщение отредактировал(а) jonie - 1.10.2014, 21:00 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Julia9311 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 6.12.2012 Репутация: нет Всего: нет |
Сделала, но все равно неправильно генерируются исключения
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
потому что в Main проверяете и в целом неверно. У Вас же код был ранее в public void setDay(double d) , почему вы его в Main() перенесли? -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
mihryak |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 10 Всего: 36 |
||||
|
||||
Julia9311 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 6.12.2012 Репутация: нет Всего: нет |
Почему в целом неверно?
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |