גוקר בקרוקר
New member
שאלה בJAVA..
בשאלה זו תממשו אפליקציה שמנהלת מידע על דיסקים וסרטים. הרעיון הוא ליצור קטלוג של כל ה- CD וה- DVD שיש לאדם (או שהוא שמע או ראה בחייו). שימו לב, המטלה נועדה לתרגל את נושאי הירושה והפולימורפיזם. הפונקציונליות שאנו רוצים שתהיה בפרויקט זה היא כזו: • צריכה לאפשר לנו להכניס מידע על CDs ו- DVDs • צריכה לשמור את המידע באופן קבוע כך שאפשר יהיה להשתמש בזה אח"כ. • צריכה לספק לנו פונקצית חיפוש שמאפשרת לנו למצוא, למשל, את כל ה- CDs שבאוסף של אמן מסוים או את כל ה- DVDs של במאי מסוים. • צריכה לאפשר לנו להדפיס את רשימת כל ה- DVDs שבאוסף או את רשימת כל ה- CDs שבאוסף. • צריכה לאפשר לנו למחוק מידע מהאוסף. סעיף א. המידע שאנו רוצים לאחסן על כל CD הוא: • כותרת האלבום; • שם האמן או הלהקה; • מספר המסלולים שיש ב- CD; • אורך הדיסק כולו; • ציון אם יש לי את ה-CD הזה או לא; • הערה על הדיסק. המידע שאנו רוצים לאחסן על כל DVD הוא: (לשם פשטות נניח כי כל DVD מאחסן סרט קולנוע ולא משהו אחר). • כותרת ה-DVD; • שם הבמאי; • אורך הסרט כולו; • ציון אם יש לי את ה-DVD הזה או לא; • הערה על הסרט. התכונות כותרת, שם (אמן או במאי), אורך כולל ומספר המסלולים (ב- CD) יהיו immutable, כלומר אי אפשר לשנות אותן. לכן, הבנאים של CD ושל DVD יקבלו פרמטרים עם התכונות האלו. כמו כן, תכונת הבעלות תקבל false וההערה תקבל מחרוזת ריקה בבנאי. את התכונות לגבי הבעלות על הפריט וההערה אפשר לשנות. (אילו שיטות צריכות להיות?) שיטה נוספת שצריכה להיות לכל מחלקה היא toString המחזירה את כל הפרטים על הפריט בצורת מחרוזת. עליכם לכתוב מחלקות מתאימות, CD, DVD, Item (עם ירושה) שיממשו את האמור לעיל (תכונות, בנאים ושיטות). חישבו היטב אילו תכונות ואילו שיטות יהיו בכל מחלקה. סעיף ב. בסעיף זה עליכם לכתוב מחלקה בשם DataBase. המחלקה תחזיק מערך של Item. • גודלו המקסימלי של המערך יהיה 30. ואיך נדע את מספר הפריטים בפועל? חישבו היטב איך לממש זאת. • השיטות במחלקה זו יהיו: o public void addItem (Item newItem) - המכניסה פריט חדש לאוסף. o public void removeItem (Item item) - המוחקת פריט מסוים מהאוסף. o public String toString () - המחזירה מחרוזת המייצגת את האוסף כולו כאשר לאחר כל פריט יש שתי שורות רווח. o public void printCDs () - המדפיסה את כותרות כל ה- CDs שיש באוסף. o public void printDVDs () - המדפיסה את כותרות כל ה- DVDs שיש באוסף. o public int howManyArtist (String artist) - המחזירה את מספר ה- CDs שיש לאמן מסוים artist. הצלחתי לכתוב הכל אבל יש לי בעיה קטנה והיא שיטתת ה- ADDITEM של DATABASE אשמח אם מישהו יוכל לעזור לי כי אני תקוע איתה וזה כל מה שנשאר לי...תודה מראש
בשאלה זו תממשו אפליקציה שמנהלת מידע על דיסקים וסרטים. הרעיון הוא ליצור קטלוג של כל ה- CD וה- DVD שיש לאדם (או שהוא שמע או ראה בחייו). שימו לב, המטלה נועדה לתרגל את נושאי הירושה והפולימורפיזם. הפונקציונליות שאנו רוצים שתהיה בפרויקט זה היא כזו: • צריכה לאפשר לנו להכניס מידע על CDs ו- DVDs • צריכה לשמור את המידע באופן קבוע כך שאפשר יהיה להשתמש בזה אח"כ. • צריכה לספק לנו פונקצית חיפוש שמאפשרת לנו למצוא, למשל, את כל ה- CDs שבאוסף של אמן מסוים או את כל ה- DVDs של במאי מסוים. • צריכה לאפשר לנו להדפיס את רשימת כל ה- DVDs שבאוסף או את רשימת כל ה- CDs שבאוסף. • צריכה לאפשר לנו למחוק מידע מהאוסף. סעיף א. המידע שאנו רוצים לאחסן על כל CD הוא: • כותרת האלבום; • שם האמן או הלהקה; • מספר המסלולים שיש ב- CD; • אורך הדיסק כולו; • ציון אם יש לי את ה-CD הזה או לא; • הערה על הדיסק. המידע שאנו רוצים לאחסן על כל DVD הוא: (לשם פשטות נניח כי כל DVD מאחסן סרט קולנוע ולא משהו אחר). • כותרת ה-DVD; • שם הבמאי; • אורך הסרט כולו; • ציון אם יש לי את ה-DVD הזה או לא; • הערה על הסרט. התכונות כותרת, שם (אמן או במאי), אורך כולל ומספר המסלולים (ב- CD) יהיו immutable, כלומר אי אפשר לשנות אותן. לכן, הבנאים של CD ושל DVD יקבלו פרמטרים עם התכונות האלו. כמו כן, תכונת הבעלות תקבל false וההערה תקבל מחרוזת ריקה בבנאי. את התכונות לגבי הבעלות על הפריט וההערה אפשר לשנות. (אילו שיטות צריכות להיות?) שיטה נוספת שצריכה להיות לכל מחלקה היא toString המחזירה את כל הפרטים על הפריט בצורת מחרוזת. עליכם לכתוב מחלקות מתאימות, CD, DVD, Item (עם ירושה) שיממשו את האמור לעיל (תכונות, בנאים ושיטות). חישבו היטב אילו תכונות ואילו שיטות יהיו בכל מחלקה. סעיף ב. בסעיף זה עליכם לכתוב מחלקה בשם DataBase. המחלקה תחזיק מערך של Item. • גודלו המקסימלי של המערך יהיה 30. ואיך נדע את מספר הפריטים בפועל? חישבו היטב איך לממש זאת. • השיטות במחלקה זו יהיו: o public void addItem (Item newItem) - המכניסה פריט חדש לאוסף. o public void removeItem (Item item) - המוחקת פריט מסוים מהאוסף. o public String toString () - המחזירה מחרוזת המייצגת את האוסף כולו כאשר לאחר כל פריט יש שתי שורות רווח. o public void printCDs () - המדפיסה את כותרות כל ה- CDs שיש באוסף. o public void printDVDs () - המדפיסה את כותרות כל ה- DVDs שיש באוסף. o public int howManyArtist (String artist) - המחזירה את מספר ה- CDs שיש לאמן מסוים artist. הצלחתי לכתוב הכל אבל יש לי בעיה קטנה והיא שיטתת ה- ADDITEM של DATABASE אשמח אם מישהו יוכל לעזור לי כי אני תקוע איתה וזה כל מה שנשאר לי...תודה מראש