29-03-2011, 15:29
|
|
|
|
חבר מתאריך: 08.02.06
הודעות: 941
|
|
רשמתי הודעה גדולה אך היא נמחקה בגלל באג באתר.
במקום לרשום שוב הודעה גדולה אקצר לצערי..
המשתנה הבוליאני שנקלט כfound עם ערך של false תלוי במשהו?
מה משמעות
קוד:
c = s.nextLine().charAt(0);
בתוך הלולאה, נקלט משתנה i=0 , התנאי להמשך הלולאה כל עוד הנ"ל לא מתקיים:
כלומר הערך של i הגדל כל עוד הוא קטן מגודלו של המחרוזת str
אגב, הערה חשוב המאוד לדעתי, הקוד לעיל של אורך המחרוזת, לא אמור להיות תוספת של כדי שזה יהיה האורך הנכון והמלא של המחרוזת?
וגם
!found
מה יגרום למשתנה הבוליאני לשנות מצב לtrue? כמו ששאלתי, האם הוא תלוי במשהו?
מתחת יש תנאי שרץ כל סיבוב של הלולאה, בתוך התנאי יש השוואה, אך השאלה שלי היא, לא אמורים להשוות מחרוזות עם פונקציית equals?
ומתחת location מקבל ערך חדש? לאן הערך הקודם שלו נעלם?
ואז שוב משתנה בוליאני... (*מרגיש כאילו נפל לי אסימון, בתחתית סיום התגובה אפרט)
מתחת ללולאה, רק לא מובן לי העניין עם הערך של משתנה location מה הסיפור שלו עם מינוס 1?
לגבי האסימון,
תקן אותי עם אני טועה, המשתנה הבוליאני לא תלוי בכלום בתחילת התרגיל אלא רק ניתן לו הערך false ורק בלולאה, כל הרצה הרי מפעילה את התנאי ובמקרה והתנאי נכון, המשתנה הבוליאני משנה את ערכו וכל עוד i קטן מאורכה של המחרוזת, רק אז המחרוזת מופסקת והגענו לפתרון. הדבר נכון גם לגבי המשתנה location, אם התנאי נכון הוא פשוט משנה את ערכו לגמרי ל-מה שרשום?
אז זה האסימון הקטן שלי שקרה רק כששיכתבתי את ההודעה מחדש לאחר שנמחקה חח קטעים, שים לב שיש לי עוד שאלות למעלה.
נ.ב. עדיין לא ישבתי על בוליאנים, מקווה שהיום.
תודה!
_____________________________________
Bad Spellers Unite!
|