למד כיצד להשתמש ב-ArrayList עבור האפליקציה הפשוטה והמעשית הזו.

מערכת חניה היא שיטה נוחה, בטוחה ובת קיימא מבחינה סביבתית, הפותרת חלק עיקרי מבעיית ניהול התנועה. מערכת חניה מתוכננת היטב יכולה להפחית את זרימת התנועה, לנצל ביעילות את השטח, לייצר הכנסות ולהעניק חווית משתמש משופרת.

למד כיצד אתה יכול להשתמש ב-Java כדי לבנות מערכת חניה פשוטה שתוכל מאוחר יותר לעצב ולשלב עם מסד נתונים, להוסיף אימותים ולפתח ממשק משתמש גרפי לשימוש בחיים האמיתיים.

כיצד לבנות מערכת חניה באמצעות Java

אתה יכול למצוא את קוד המקור לבניית מערכת חניה לרכב באמצעות Java בזה מאגר GitHub.

עבור פרויקט זה, אתה הולך לעשות שימוש ב- ArrayList שהוא מערך למטרות כלליות שניתן לשנות את הגודל. ניתן לגשת לאלמנטים באמצעות אינדקס, לבצע פעולות CRUD ועוד. כדי להשתמש ב-ArrayList, עליך לייבא את המחלקה ArrayList מהספרייה הסטנדרטית של Java. באופן דומה, עבור פעולות קלט-פלט, ייבא את מחלקת הסורק. הגדירו כיתה ציבורית, מערכת חניה לרכב, לשמש ככיתה הראשית.

הגדר שלושה משתנים סטטיים: totalSlots, משבצות זמינות, ו מכוניות חונות. totalSlots מייצג את המספר הכולל של מקומות חניה, בעוד availableSlots עוקב אחר כמה נותרו פנויים. parkedCars היא ArrayList המאחסנת את מספרי לוחיות הרישוי של המכוניות החונות כעת.

instagram viewer

תגדיר את רָאשִׁי() שיטה וליצור אובייקט ממחלקת Scanner. בקש מהמשתמש להזין את המספר הכולל של משבצות החניה ולאחסן אותו ב-totalSlots. בתחילה, המשבצות הזמינות שוות לסך החריצים, אז אתחול ה-slots available לאותו ערך כמו totalSlots.

יְבוּא java.util. רשימת מערך;
יְבוּא java.util. סוֹרֵק;

פּוּמְבֵּימעמדמערכת חניה לרכב{

סטָטִיint totalSlots, availableSlots;
סטָטִי רשימת מערך ParkedCars = חָדָשׁ רשימת מערך();

פּוּמְבֵּיסטָטִיבָּטֵלרָאשִׁי(מחרוזת[] args){

סורק sc = חָדָשׁ סורק (System.in);
System.out.println("הזן את המספר הכולל של משבצות החניה במתקן:");
totalSlots = sc.nextInt();
availableSlots = totalSlots;

השתמש בלולאת while שפועל ללא הגבלה. שאל את המשתמש אם הוא רוצה להחנות מכונית, להסיר אותה, לצפות במכוניות חונות או לצאת מהתוכנית. בהתאם לבחירה, התקשר לשיטה המתאימה. אם המשתמש מעוניין לסיים את התוכנית, השתמש System.exit (0) להפסיק לאלתר.

בזמן (נָכוֹן) {
System.out.println("\n מה תרצה לעשות?");
System.out.println("1. לחנות מכונית");
System.out.println("2. הסר מכונית");
System.out.println("3. צפה במכוניות חונות");
System.out.println("4. יְצִיאָה");
int choice = sc.nextInt();

החלף (בחירה) {
מקרה1:
parkCar();
לשבור;
מקרה2:
removeCar();
לשבור;
מקרה3:
viewParkedCars();
לשבור;
מקרה4:
System.exit(0);
בְּרִירַת מֶחדָל:
System.out.println("בחירה לא חוקית. בבקשה נסה שוב.");
}
}
}

הגדר שיטה סטטית ציבורית, parkCar(), ללא סוג החזרה. אם אין משבצות פנויות, הודע למשתמש וחזור. אחרת, בקש מהמשתמש להזין את מספר לוחית הרישוי של מכוניתו ולהשתמש ב- לְהוֹסִיף() שיטה כדי להכניס אותו ל-ArrayList. הקטן את מספר המשבצות הזמינות באחד והצג שהתוכנית חנתה את המכונית יחד עם המספר הנוכחי של המשבצות הזמינות.

פּוּמְבֵּיסטָטִיבָּטֵלparkCar(){
אם (availableSlots == 0) {
System.out.println("מצטערים, אין מקומות חניה פנויים.");
לַחֲזוֹר;
}

סורק sc = חָדָשׁ סורק (System.in);
System.out.println("הזן את מספר לוחית הרישוי של המכונית:");
מחרוזת licensePlate = sc.nextLine();
parkedCars.add (לוחית רישוי);
משבצות זמינות--;
System.out.println("המכונית חונה בהצלחה. המשבצות הזמינות הנוכחיות הן: " + משבצות זמינות);
}

הגדירו שיטה, removeCar(). אם הערכים של המספר הזמין והסך של המשבצות תואמים, הצג שאין מכוניות חונות וחזור. אחרת, בקש מהמשתמש את מספר לוחית הרישוי של המכונית שלו. בדוק אם מספר לוחית הרישוי שהוזן על ידי המשתמש קיים ב-ArrayList באמצעות מכיל().

אם מצליח, השתמש ב- לְהַסִיר() שיטה להוציא אותו מה-ArrayList ולהגדיל את המשבצות הזמינות באחד. הצג את ההודעה שהתוכנית הסירה את המכונית יחד עם המספר הנוכחי של משבצות פנויות. במידה ואינכם מוצאים את מספר לוחית הרישוי, הצג כי אין רכב כזה חונה במתקן.

פּוּמְבֵּיסטָטִיבָּטֵללהסיר מכונית(){
אם (availableSlots == totalSlots) {
System.out.println("אין מכוניות חונות".);
לַחֲזוֹר;
}

סורק sc = חָדָשׁ סורק (System.in);
System.out.println("הזן את מספר לוחית הרישוי של המכונית להסרה:");
מחרוזת licensePlate = sc.nextLine();

אם (parkedCars.contains (לוחית רישוי)) {
parkedCars.remove (לוחית רישוי);
availableSlots++;
System.out.println("המכונית הוסרה בהצלחה. המשבצות הזמינות הנוכחיות הן: " + משבצות זמינות);
} אַחֵר {
System.out.println("המכונית לא חונה כאן".);
}
}

הגדירו שיטה, viewParkedCars(). בדומה לאמור לעיל, בדקו אם אין מכוניות חונות. אחרת, הצג את מספרי לוחיות הרישוי של המכוניות החונות. לשם כך, השתמש בלולאה של כל אחד כדי לחזור על הפריטים ב- ArrayList ולהציג אותם אחד אחד.

פּוּמְבֵּיסטָטִיבָּטֵלviewParkedCars(){
אם (availableSlots == totalSlots) {
System.out.println("אין מכוניות חונות".);
לַחֲזוֹר;
}

System.out.println("מכוניות חונות:");

ל (לוחית רישיון מחרוזת: parkedCars) {
System.out.println (לוחית רישוי);
}
}
}

חבר את הכל יחד ומערכת החניה שלך מוכנה לשימוש.

פלט דוגמה מתוכנית החניה

בהפעלת הקוד שלמעלה, התוכנית מבקשת להזין את המספר הכולל של משבצות החניה של המתקן. בכניסה ל-5 הוא נותן אפשרות להחנות רכב, להסיר אותו, לצפות בכל המכוניות החונות ולצאת מהתוכנית. בבחירת אפשרות 1, הוא מבקש להזין את מספר לוחית הרישוי של המכונית ומקטין משבצת פנויה על ידי חנייתו.

בבחירה באפשרות 3, תוכל לצפות במספר לוחית הרישוי של המכונית שזה עתה חנית. בבחירה באפשרות 2 והזנת מספר לוחית הרישוי, התוכנית מסירה את המכונית והחריצים הזמינים גדלים באחד.

מערכות ניהול אחרות שאתה יכול לבנות

על ידי בניית מערכות ניהול ב-Java אתה צובר מומחיות בהיבטים שונים של פיתוח תוכנה, ניהול מסדי נתונים, אבטחה ושילוב מערכות. כמה מהפרויקטים שתוכלו לחקור הם מערכת ניהול המלאי שעוזרת לכם להבין מודלים של נתונים, פעולות CRUD, מעקב אחר מלאי ומימוש הזמנות.

אתה יכול לבנות מערכת ניהול ספרייה כדי ללמוד ארגון נתונים ואימות משתמשים. מערכות ניהול עובדים או תלמידים דומות מאוד ויכולות לעזור לך ללמוד בקרת גישה מבוססת תפקידים ומעקב נוכחות.