Научите како да користите АрраиЛист за ову једноставну, практичну апликацију.

Паркинг систем је згодан, сигуран и еколошки одржив метод који решава велики део проблема управљања саобраћајем. Добро дизајниран систем паркирања може смањити проток саобраћаја, ефикасно искористити простор, остварити приход и пружити побољшано корисничко искуство.

Научите како можете да користите Јаву да направите једноставан систем за паркирање који касније можете дизајнирати и интегрисати са базом података, додати валидације и развити графички кориснички интерфејс за употребу у стварном животу.

Како изградити паркинг систем користећи Јаву

Овде можете пронаћи изворни код за изградњу система за паркирање возила користећи Јаву ГитХуб спремиште.

За овај пројекат ћете користити АрраиЛист који је низ опште намене који може да се мења. Елементима можете приступити помоћу индекса, изводити ЦРУД операције и још много тога. Да бисте користили АрраиЛист, потребно је да увезете класу АрраиЛист из Јава стандардне библиотеке. Слично, за

instagram viewer
улазно-излазне операције, увозите класу Сцаннер. Дефинишите јавну класу, ВехицлеПаркингСистем, да служи као главна класа.

Дефинишите три статичке променљиве: тоталСлотс, аваилаблеСлотс, и паркирани аутомобили. тоталСлотс представља укупан број паркинг места, док аваилаблеСлотс прати колико их је остало слободних. паркедЦарс је АрраиЛист која чува бројеве регистарских таблица тренутно паркираних аутомобила.

Дефинишите главни() метод и креирати објекат класе Сцаннер. Замолите корисника да унесе укупан број паркинг места и сачува га у тоталСлотс. У почетку, доступни слотови једнаки су укупним слотовима, па иницијализирајте аваилаблеСлотс на исту вриједност као тоталСлотс.

увоз јава.утил. Низ листа;
увоз јава.утил. Сцаннер;

јавностикласаВехицлеПаркингСистем{

статичнеинт тоталСлотс, аваилаблеСлотс;
статичне Низ листа паркирани аутомобили = Нова Низ листа();

јавностистатичнепразнинаглавни(Стринг[] аргументи){

Сцаннер сц = Нова Скенер (Систем.ин);
Систем.оут.принтлн(„Унесите укупан број паркинг места у објекту:“);
тоталСлотс = сц.нектИнт();
аваилаблеСлотс = тоталСлотс;

Користите вхиле петљу који траје неограничено. Питајте корисника да ли жели да паркира аутомобил, да га уклони, погледа паркиране аутомобиле или да изађе из програма. У зависности од избора, позовите одговарајући метод. Ако корисник жели да прекине програм, користи Систем.екит (0) да се одмах прекине.

док (истина) {
Систем.оут.принтлн(„\н Шта бисте желели да радите?“);
Систем.оут.принтлн("1. Паркирај ауто");
Систем.оут.принтлн("2. Уклони ауто");
Систем.оут.принтлн("3. Погледајте паркиране аутомобиле");
Систем.оут.принтлн("4. Изађи");
инт избор = сц.нектИнт();

прекидач (избор) {
случај1:
паркЦар();
пауза;
случај2:
ремовеЦар();
пауза;
случај3:
виевПаркедЦарс();
пауза;
случај4:
Систем.екит(0);
Уобичајено:
Систем.оут.принтлн(„Неисправан избор. Молим вас, покушајте поново.");
}
}
}

Дефинишите јавну статичку методу, паркЦар(),без типа повратка. Ако нема слободних слотова, обавестите корисника и вратите се. У супротном, замолите корисника да унесе регистарску таблицу свог аутомобила и употреби додати() метод да га уметнете у листу АрраиЛист. Смањите број доступних слотова за један и прикажите да је програм паркирао аутомобил заједно са тренутним бројем доступних слотова.

јавностистатичнепразнинапаркЦар(){
ако (аваилаблеСлотс == 0) {
Систем.оут.принтлн(„Жао нам је, нема слободних паркинг места.“);
повратак;
}

Сцаннер сц = Нова Скенер (Систем.ин);
Систем.оут.принтлн(„Унесите регистарски број аутомобила:“);
Стринг лиценцеПлате = сц.нектЛине();
паркедЦарс.адд (лиценсеПлате);
аваилаблеСлотс--;
Систем.оут.принтлн(„Ауто је успешно паркирано. Тренутна доступна места су: " + аваилаблеСлотс);
}

Дефинишите метод, уклони аутомобил(). Ако се вредности расположивог и укупног броја слотова поклапају, прикажите да нема паркираних аутомобила и вратите се. У супротном, затражите од корисника регистарску таблицу његовог аутомобила. Проверите да ли је број регистарске таблице који је унео корисник присутан у АрраиЛист користећи садржи().

Ако успете, користите уклони() метод да га извадите из АрраиЛист-а и повећате расположиве слотове за један. Прикажите поруку да је програм уклонио аутомобил заједно са тренутним бројем доступних слотова. У случају да не пронађете регистарску таблицу, прикажите да у објекту нема паркираног таквог аутомобила.

јавностистатичнепразнинаремовеЦар(){
ако (аваилаблеСлотс == тоталСлотс) {
Систем.оут.принтлн(„Нема паркираних аутомобила.);
повратак;
}

Сцаннер сц = Нова Скенер (Систем.ин);
Систем.оут.принтлн(„Унесите регистарски број аутомобила који желите да уклоните:“);
Стринг лиценцеПлате = сц.нектЛине();

ако (паркедЦарс.цонтаинс (лиценсеПлате)) {
паркедЦарс.ремове (лиценсеПлате);
аваилаблеСлотс++;
Систем.оут.принтлн(„Аутомобил је успешно уклоњен. Тренутна доступна места су: " + аваилаблеСлотс);
} друго {
Систем.оут.принтлн(„Ауто није овде паркирано.);
}
}

Дефинишите метод, виевПаркедЦарс(). Слично горе наведеном, проверите да ли нема паркираних аутомобила. У супротном, прикажите бројеве регистарских таблица паркираних аутомобила. Да бисте то урадили, користите фор-еацх петљу да пређете преко ставки у АрраиЛист и прикажете их једну по једну.

јавностистатичнепразнинавиевПаркедЦарс(){
ако (аваилаблеСлотс == тоталСлотс) {
Систем.оут.принтлн(„Нема паркираних аутомобила.);
повратак;
}

Систем.оут.принтлн(„Паркирани аутомобили:“);

за (Стринг лиценцна таблица: паркедЦарс) {
Систем.оут.принтлн (лиценсеПлате);
}
}
}

Спојите све и ваш паркинг систем је спреман за употребу.

Пример излаза из програма за паркирање

Приликом покретања кода изнад, програм тражи да унесете укупан број паркинг места у објекту. Када унесете 5, даје опцију да паркирате аутомобил, уклоните га, погледате све паркиране аутомобиле и изађете из програма. Приликом одабира опције 1, тражи се да се унесе број регистарске таблице аутомобила и смањује расположиво место тако што га паркира.

Када изаберете опцију 3, можете видети регистарску таблицу аутомобила који сте управо паркирали. Одабиром опције 2 и уносом регистарске таблице, програм уклања аутомобил и расположиви слотови се повећавају за један.

Други системи управљања које можете изградити

Изградњом система управљања у Јави стичете стручност у различитим аспектима развоја софтвера, управљања базама података, безбедности и системске интеграције. Неки од пројеката које можете истражити су систем управљања залихама који вам помаже да разумете моделирање података, ЦРУД операције, праћење залиха и испуњавање поруџбина.

Можете да направите систем за управљање библиотекама да бисте научили организацију података и аутентификацију корисника. Системи управљања запосленима или студентима су веома слични и могу вам помоћи да научите контролу приступа засновану на улогама и праћење похађања.