|
3 / 3 / 8
Регистрация: 14.10.2012
Сообщений: 288
|
||||||
Написать консольный калькулятор используя паттерны проектирования28.07.2016, 11:54. Показов 8919. Ответов 1
Метки нет (Все метки)
Нужно было написать калькулятор, который реализует стандартные операции "+,-,*,/". И выбрать какой-нить паттерн проектирования.
Я выбрал фабричный метод. Вроде все работает, но с костылями. особенно это касается исключительных ситуация(try...catch) никак не могу выловить деление на ноль, IDE, как и положено, выдает infinity, но я подозреваю, что должно быть как с некоректным вводом(когда буквы ввожу). Также хотят, чтобы код был очень гибким, т.е. если кто-то захочет добавить функцию возведения в степень, то нужно всего в одном месте написать метод и все будет хорошо работать.предлагали это сделать через Class.forName(). , я почитал, понял как работает, но не знаю как в java это прилепить(опыта мало) и правильный ли паттерн я выбрал для реализации задачи?
0
|
||||||
| 28.07.2016, 11:54 | |
|
Ответы с готовыми решениями:
1
Паттерны проектирования Composite и Builder Консольный калькулятор Консольный калькулятор |
|
20 / 20 / 9
Регистрация: 23.09.2013
Сообщений: 329
|
|
| 29.07.2016, 18:46 | |
|
ну вот речь идет чтоб в случае добавления операции - модифицировался один метод. а тут надо и гетопсинстанс модифицировать и новый класс создавать...я понимаю тут фабрика, но имхо - оверхед какой то.
так бы был один метод со свитчем - в котором в зависимости от типа операции, свой кейс выполняет. нужно стало новая операция - добавили новый кейс в свитч - просто и понятно. на счет паттерна. опять же использовать считаю нужно там где без них никак. ну вот с калькулятором например. был консольный калькулятор. стал нужен с гуи. не писать же новый. можно взять старый класс и его передавать в новый класс который с гуи умеет работать. вообщем что то типа адаптера.
0
|
|
| 29.07.2016, 18:46 | |
|
Помогаю со студенческими работами здесь
2
Консольный калькулятор - Не удается найти указанный файл накидал тут консольный калькулятор. Но вот беда - при компиляции он запрашивает значения целочисленных перемен Написать консольный калькулятор Написать консольный калькулятор (разрядность чисел - 12) Написать консольный калькулятор (сложение чисел) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|