[בעיה בתשובה?]מבחן 2009 מועד ב' שאלה 3 סעיף א'

מנהלים: TA_nimrod, TA_Igor, TA_Adi, TA_nimrod, TA_Igor, TA_Adi

שלח תגובה
danny
הודעות: 64
הצטרף: 12:32 23/10/2009

[בעיה בתשובה?]מבחן 2009 מועד ב' שאלה 3 סעיף א'

שליחה על ידי danny » 17:15 20/01/2010

להלן התשובה שסיפקתם לשאלה הנ"ל:

קוד: בחירת הכל

public Object next(){
if (!hasNext())
throw new NoSuchElementException();
String ans = "";
currentIndex = currentIndex + 1;
While ((currentIndex < str.length()) &&
(str.charAt(currentIndex) != ‘ ‘)) {
ans = ans + str.charAt(currentIndex);
currentIndex = currentIndex + 1;
}
return ans;
}
נראה שלפני לולאת ה-while נעשתה טעות כך שמדלגים על התו הראשון במחרוזת המקורית... לא?
Error is Created. Truth is Eternal. Error, or Creation, will be Burned up, & then, & not till Then, Truth or Eternity will appear

rotgold
הודעות: 23
הצטרף: 19:37 10/11/2009

Re: [בעיה בתשובה?]מבחן 2009 מועד ב' שאלה 3 סעיף א'

שליחה על ידי rotgold » 17:30 20/01/2010

כן גם אני שמתי לב...
לדעתי פשוט צריך היה לאתחל את השדה currentIndex לערך 1- ולא 0....
כי הטעות הזו תקרה רק עבור המילה הראשונה במשפט... אח"כ אנחנו באמת נרצה לדלג על תו אחד שהוא הרווח...

danny
הודעות: 64
הצטרף: 12:32 23/10/2009

Re: [בעיה בתשובה?]מבחן 2009 מועד ב' שאלה 3 סעיף א'

שליחה על ידי danny » 17:36 20/01/2010

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

אבל כמו שנראה שוב - הם עשו את זה לא נכון.
אני מקווה שזה לא דפוס שהולך לחזור על עצמו..
Error is Created. Truth is Eternal. Error, or Creation, will be Burned up, & then, & not till Then, Truth or Eternity will appear

TA_Yoni
הודעות: 236
הצטרף: 13:44 18/10/2009

Re: [בעיה בתשובה?]מבחן 2009 מועד ב' שאלה 3 סעיף א'

שליחה על ידי TA_Yoni » 18:31 20/01/2010

צודקים: צריך לאתחל את currentIndex בבנאי ל 1-
המתרגל יוני

שלח תגובה

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