שאלה ממבחן 2008 מועד ב'

מנהל: The Architect

שאלה ממבחן 2008 מועד ב'

הודעהעל ידי shirang » 10:39 13/03/2009

בשאלה מספר 1 בסעיף ג משתמשים בלולאת ה- for הבאה:
for (Object data : ds)
מה אומר הפורמט הזה של for?

בנוסף, השיטה מקבלת אובייקט מסוג Iterable שנקרא ds. איך אני יכולה לעבוד עם אובייקט שהוא מסוג Iterable ולא מסוג Iterator? איך אפשר לאתחל אותו?

תודה
shirang
 
הודעות: 18
הצטרף: 00:07 19/11/2008

הודעהעל ידי orankap » 12:26 14/03/2009

אני עשיתי משהו כזה, אם מישהו יוכל לאשר לי את זה אני אשמח :D

קוד: בחר הכל
list ans=new List();
Iterator iter = ds.iterator();
while(iter.hasNext()){
   object deta =  iter.next();
   if(f.accept(deta)
      ans.addLast(deta);
   }
}
orankap
 
הודעות: 67
הצטרף: 14:23 02/12/2008

Re: שאלה ממבחן 2008 מועד ב'

הודעהעל ידי TA_Igal » 10:11 15/03/2009

shirang כתב:בשאלה מספר 1 בסעיף ג משתמשים בלולאת ה- for הבאה:
for (Object data : ds)
מה אומר הפורמט הזה של for?

בנוסף, השיטה מקבלת אובייקט מסוג Iterable שנקרא ds. איך אני יכולה לעבוד עם אובייקט שהוא מסוג Iterable ולא מסוג Iterator? איך אפשר לאתחל אותו?

תודה


אובייקט מסוג Iterable מציין שלאובייקט יש מתודה:
קוד: בחר הכל
Iterator iterator()

לכן השימוש הנכון הוא:
קוד: בחר הכל
Iterator it = ds.iterator();

ואח"כ ניתן להשתמש ב it כרגיל.
צוות מבוא למדעי המחשב (מתרגל)
TA_Igal
 
הודעות: 28
הצטרף: 18:08 05/11/2008


חזור אל - מבוא למדעי המחשב

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים ואורח אחד

cron