powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Расчёт аренды в программе
25 сообщений из 26, страница 1 из 2
Расчёт аренды в программе
    #39118329
AlexxiuS_47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача:
Необходимо реализовать программу, в которой будут реализованы
иерархия классов, описывающая аренду торгового комплекса, методы расчета стоимости боксов,
автоматический генератор начальных (можно случайных) условий (количество боксов на
i-ом этаже, количество этажей, количество торговых комплексов).

Предметная область связана с арендой торгового центра.

Торговый комплекс может быть в центре, на окраине, за городом.
Стоимость аренды на окраине составляет 120% от стоимости арены за городом.
Стоимость аренды в центре в два раза выше чем за городом.

Торговый комплекс - набор боксов. Бокс характеризуется следующими параметрами:
— Площадь
— Номер
— Этаж
— Тип бокса
— Стоимость аренды (возвращается методом вычисления)

Типы боксов:
— Торговля продуктами питания
— Торговля одеждой
— Торговля электроникой

Бокс торговли продовольственными товарами характеризуется следующими параметрами:
— количество холодильных камер
— количество весов

Бокс торговли одеждой характеризуется следующим набором параметров:
— количество примерочных кабинок

Бокс торговли электроникой характеризуется следующими параметрами:
— количество электрических розеток
— общее потребление электричества, Вт

Стоимость аренды должна вычисляться следующим образом:
Базовый тариф 500 руб за квадратный метр в месяц, плюс:
- для боксов торговли продовольственными товарами:
50 * кол-во холодильных камер + 20* кол-во весов, если кол-во
холодильных камер меньше 3, то делается скидка 10% на всю оплату
- для торговли одеждой: кол-во примерочных кабинок * 30
- для боксов электроники: если потребляемая мощность больше 500 кВт/ч - то
потребляемое кол-во сверх 500 кВт/ч * на стоимость кВт/ч (2 руб),
если более 5 розеток - то кол-во розеток * 200 руб

Боксы на первом этаже - нужно общую стоимость умножить на 5%.
Плюс к этому:
1) должен быть реализован класс-хранилище, в задачи которого входит хранение в памяти объектов, которыми можно манипулировать, используя функции интерфейса класса;
интерфейс класса-хранилища должен быть описан отдельно ( интерфейс IObjectStore.java );
реализация интерфейса должна поддерживать логические ограничения модели (например нельзя добавить описание бокса в несуществующий этаж знания);
класс хранилища должен быть "хорошо инкапсулирован": внутренний механизм хранения объектов должен быть не доступен снаружи напрямую - вся работа по помещению объектов в хранилище, поиску и выдаче объектов из хранилища должна вестись через функции класса хранилища

2) класс-"заполнятель". Он должен реализовывать задачи генерации начальных условий.
Он должен работать с хранилишем, и все сгенерированные объекты помещать в хранилище.

3)класс-"распечатываетель". Его задача - выводить в консоль последовательно описания
всех объектов хранилища: область, торговый центр, этаж, перечень боксов, и информацию по каждому объекту (где применимо): цена аренды, площадь бокса и пр.

Здесь интересуют такие моменты:
1. Как посчитать кол-во боксов на этаже ? Надо ли для этого создать класс "Этаж здания" ?
2. Надо ли создавать класс "Аренда бокса" ?
3. Какие методы для каких классов применять ? Т.е., если у меня в классах-сущностях есть методы для расчёта аренды, надо ли их применять в классе-заполнятеле ? И какие методы должны быть в заполнятеле, хранилище, интерфейсе хранилища, распечатывателе ? Какие типы данных надо применять в методах и полях, аргументах ?
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39118353
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexxiuS_471. Как посчитать кол-во боксов на этаже?

Вопрос к тем кто не поленился почитать всё ТЗ. Вам тоже лень?
AlexxiuS_47Надо ли для этого создать класс "Этаж здания" ?
2. Надо ли создавать класс "Аренда бокса" ?

Если у них есть состояние или поведение, то можно создать. Если у них нет состояния или поведения, то зачем?

AlexxiuS_473. Какие методы для каких классов применять ?

"Применять" это вызывать или декларировать? Методы нужно размещать в тех классах, свойтвами и полями которых они оперируют.

AlexxiuS_47Т.е., если у меня в классах-сущностях есть методы для расчёта аренды, надо ли их применять в классе-заполнятеле ?

Что за "применять" такое? Надо - применяйте. Не надо, не применяйте.


AlexxiuS_47И какие методы должны быть в заполнятеле

Методы заполнения.
AlexxiuS_47, хранилище, интерфейсе хранилища,

Методы хранения.

AlexxiuS_47распечатывателе ?

Методы распечатывания.


AlexxiuS_47Какие типы данных надо применять в методах и полях, аргументах ?
Применяйте типы данных наиболее соответствующие предметной области.
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39118391
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он что реально думает что в рамках форума Java кто-то сядет и вот так вот закодит
такое ТЗ ? Безо всякой награды?
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39118501
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexxiuS_47Задача:
Торговый комплекс может быть в центре, на окраине, за городом.
Стоимость аренды на окраине составляет 120% от стоимости арены за городом.
Стоимость аренды в центре в два раза выше чем за городом.

Конкретные цифры тут мало кому интересны, достаточно было написать, что стоимость отличается и выражена в процентах

AlexxiuS_47Типы боксов:
— Торговля продуктами питания
— Торговля одеждой
— Торговля электроникой

А больше никаких других типов не бывает? Аптеки, массажные, парикмахерские, лаборатории, торговля цветами, секс-игрушки, офисные помещения, складские, лестничные клетки(бывают достаточно большие для размещения торговых стоек) и т.д. ?

AlexxiuS_47Бокс торговли продовольственными товарами характеризуется следующими параметрами:
— количество холодильных камер
— количество весов

Бокс торговли одеждой характеризуется следующим набором параметров:
— количество примерочных кабинок

Бокс торговли электроникой характеризуется следующими параметрами:
— количество электрических розеток
— общее потребление электричества, Вт

общее потребление электричества, Вт, такого не будкт в продовольственных магазинах и других?

AlexxiuS_47Боксы на первом этаже - нужно общую стоимость умножить на 5%.

Сделайте коэффициент отдельный для изменения. И, наверное, не умножить, а прибавить.

AlexxiuS_47 Какие типы данных надо применять в методах и полях, аргументах ?
Да абсолютно любые, практически все какие понадобятся.


Вообще, задача довольно простая, я бы больше заинтересовался реализацией этого недоТЗ, потому как там могут возникнуть затыки от выбора технологий разработки(язык(понятно, что наверняка Java), база данных(хотя тут особо и нечего думать), фреймворк для интерфейса и работы с БД), до внесения последующих изменений. Работы будет достаточно много, но она вся однотипная, по сути, может растянуться даже на пару лет, в зависимости от отзывчивости заказчика.
У меня есть проектик, который уже 4.5 года допиливается постоянно, а все потому, что ТЗ изначально практически не было. Но мне оно и на руку :)
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39118691
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень похоже на тестовое задание.
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39118991
AlexxiuS_47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как подсчитывать проценты, подскажите ?
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39118995
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexxiuS_47А как подсчитывать проценты, подскажите ?
Может эта. Сначала школьную программу по математике повторить, а потом уже в программирование?
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39118999
AlexxiuS_47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И какой тип данных лучше для id - int или string ? Нормально, что номер этажа может быть string ?
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119018
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexxiuS_47И какой тип данных лучше для id - int или string ? Нормально, что номер этажа может быть string ?
Если речь о базе данных, то существует такое понятие как натуральный и синтетический ключ. Можно использовать натуральный ключ как первичный. Но этот подход обладает массой недостатков. Поэтому натуральный ключ лучше просто сделать уникальным, а дополнительно завести ещё и синтетическй ключ типа long.
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119058
AlexxiuS_47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
ну а если номер этажа будет string, это будет нормально в том случае, если я захочу поменять его значение ? просто string это фиксированное значение, если я поменяю его, получается создастся новая строка с новым значением. просто думаю это поле сделать string, т.к. никаких вычислений с ним не предполагается.
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119081
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЕсли речь о базе данных, то существует такое понятие как натуральный и синтетический ключ. Можно использовать натуральный ключ как первичный. Но этот подход обладает массой недостатков. Поэтому натуральный ключ лучше просто сделать уникальным, а дополнительно завести ещё и синтетическй ключ типа long.
А корректно ли Double использовать вместо long? У меня, к примеру, используется Double для порядковых номеров счетов, потому что бывают номера 26555.01 26555.02 и т.д. Чот я засомневался :)
Судя по диапозону вроде как последствий никаких, но все же..
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119097
Фотография JonnySKS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexxiuS_47И какой тип данных лучше для id - int или string ? Нормально, что номер этажа может быть string ?
Ты хочешь как ID использовать номер этажа? Зачем?
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119108
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicСудя по диапозону вроде как последствий никаких, но все же..
Изврат, конечно. Но если математику не использовать, то будет работать. Надо ещё не забывать окргулять всегда при выводе.
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119112
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NixicBlazkowicz... Можно использовать натуральный ключ как первичный. Но этот подход обладает массой недостатков. ...
А корректно ли Double использовать вместо long? У меня, к примеру, используется Double для порядковых номеров счетов, потому что бывают номера 26555.01 26555.02 и т.д. Чот я засомневался :)
Судя по диапозону вроде как последствий никаких, но все же..

Тема для большого холивара :) Как будешь ошибочно введенный номер счета исправлять, если зависимые записи есть?
Суррогатный ключ наше всйо
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119148
AlexxiuS_47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JonnySKS, нет, id как id, а номер этажа как номер этажа. Просто думаю, целесообразно ли будет сделать его string, если я вдруг захочу поменять его. Ведь string это неизменяемое значение, вернее записать другое значение можно, но это будет уже новая строка. Это нормально ?
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119205
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanBezNixicпропущено...

А корректно ли Double использовать вместо long? У меня, к примеру, используется Double для порядковых номеров счетов, потому что бывают номера 26555.01 26555.02 и т.д. Чот я засомневался :)
Судя по диапозону вроде как последствий никаких, но все же..

Тема для большого холивара :) Как будешь ошибочно введенный номер счета исправлять, если зависимые записи есть?
Суррогатный ключ наше всйо
А он генерируется путем прибавления или целой еденицы и переводом в инт и обратно, точнее уже точно не помню как, но суть в том чтобы было без дробной части отличной от ноля, а если нужна дробная часть, то тоже проверяется сначала наличие какого-либо номера в дробях и потом генерируется прибавлением 0,01, тоже с округлением. Ну в общем повторы исключены, а если есть или будут, то он(порядковый номер типа дабл) особо нигде не используется, привязка всегда идет по id записи, а если есть или будут повторы, то оно не сильно критично.
Раньше каждое 1 января 00:00:00:000 номер сбрасывался, но из-за гемора с поиском по номеру руководством, когда приходилось и по году еще смотреть, решили сделать сквозную нумерацию, добрались уже до 26 тысяч и я вот что-то засомневался в правильности выбора этого типа данных. Почитал доки, вроде не все так плохо, как показалось :)
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119233
Фотография JonnySKS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexxiuS_47JonnySKS, нет, id как id, а номер этажа как номер этажа. Просто думаю, целесообразно ли будет сделать его string, если я вдруг захочу поменять его. Ведь string это неизменяемое значение, вернее записать другое значение можно, но это будет уже новая строка. Это нормально ?
Почему оно неизменяемое? Берешь запись и меняешь значение ее поля.
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119242
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexxiuS_47JonnySKS, нет, id как id, а номер этажа как номер этажа. Просто думаю, целесообразно ли будет сделать его string, если я вдруг захочу поменять его. Ведь string это неизменяемое значение, вернее записать другое значение можно, но это будет уже новая строка. Это нормально ?
Если вы в базе будете менять поле типа стринг, то значение у вас просто перезапишется и все. Не будет никаких новых строк.
Я для Этажей сделал бы отдельную таблицу с номерами этих этажей, значение которое бы определяло номер этажа как такового было бы строковое. Так как существуют этажи с номерами 1А, 1Б, -1А, -2Б и т.д.
id | значение
1 | этаж 1
2 | этаж 2
3 | этаж 1А
и т.д.

Как вариант, рассмотрел бы связь таблицы Этажи с таблице Здания как многие-ко-многим, то есть через третью таблицу, но не факт, тут думать надо, скорее всего оно лишнее.

Можно делать примерно такую таблицу Зданий/Адресов, где здание будет повторятся а этажи меняться:
id | адрес | id этажа и табл. Этажи | Копия названия этажа(если надо, но это дублирование)
555 |Ленина 1 | 1 | этаж 1
556 |Ленина 1 | 2 | этаж 2
557 |Ленина 1 | 3 | этаж 1А
и т.д.
Если для этого каждого здания и этажа отдельный свой тариф, то... короче, тут уже в проектирование куда-то залезли, начинаются какие-то гадания, надо знать досконально тему для которой пишется проект.
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119243
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странно читать в разделе java задачу чисто из раздела sql
java здесь как форма ввода/вывада не более
постановщику задачи - голову свернуть.
если это задание в институте - препода выгнать.
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119257
Фотография JonnySKS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предполагаю что цель задачи сделать оптимальную декомпозицию, и показать базовые понятия проектирования. Поэтому цепляться к нюансам постановки нет смысла.
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119261
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JonnySKSПредполагаю что цель задачи сделать оптимальную декомпозицию, и показать базовые понятия проектирования. Поэтому цепляться к нюансам постановки нет смысла.
+1 IDEF0 рулит :) Сам с ней(с этим) ковырялся месяца 3, правда, в итоге все-равно отклонений оказалось туева хуча
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119274
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczNixicСудя по диапозону вроде как последствий никаких, но все же..
Изврат, конечно. Но если математику не использовать, то будет работать. Надо ещё не забывать окргулять всегда при выводе.

Как сейчас помню :)
Был такой язык программирования Фокал. На Бк-0010Ш (кто помнит). Типа бейсика.
Строки там нумеровались в виде 1.01 1.02 1.10 1.99 2.10 5.10 и т.п.
Но кто копал глубже знал, что номер хранится в виде двух байт- до точки и после.
То, что первый номер в результате был от 0 до 255 - это тривиально.
А что реально 1.01 это было (1,3) (3/256~0.01), 1.02 было (1,5) и т.п. - знали немногие.

Так вот - можно было ввести три строки, которые будут отображаться как 1.01 ((1,1), (1,2), (1,3)). А на экране отображались как 1.01 все три.

Это я к чему? Не надо использовать числа с плавующей точкой тут. Ну не надо. Строку, или пару числе, или ещё что. Но не double...
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119279
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexxiuS_47JonnySKS, нет, id как id, а номер этажа как номер этажа. Просто думаю, целесообразно ли будет сделать его string, если я вдруг захочу поменять его. Ведь string это неизменяемое значение, вернее записать другое значение можно, но это будет уже новая строка. Это нормально ?

Вы что-то слышали про программирование, про java. Но ничего в этом не понимаете. Вообще.
Отчисляйтесь нафиг из колледжа (надеюсь не в универе учитесь).
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119292
Фотография JonnySKS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,

Чего ополчились то на человека, учится ведь только. То что это тестовая задача на собеседовании я сомневаюсь, слишком много уточнений, на университетское задание похоже.
А то что объем знаний маловат для выполнения подобного проекта это вопрос другой, тут может быть виной и идиотская программа обучения, а может и сам обучающийся, но нам то откуда знать.
...
Рейтинг: 0 / 0
Расчёт аренды в программе
    #39119317
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominЭто я к чему? Не надо использовать числа с плавующей точкой тут. Ну не надо. Строку, или пару числе, или ещё что. Но не double...
Спасибо :)
Писал это три года назад, насколько помню, не хотел вести два поля в таблице и работать с ними двумя, были вроде бы еще какие-то варианты, давно это было. Как все упадет, буду переписывать :))
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Расчёт аренды в программе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]