
answer.equals("yes"). הפקודה מחזירה true או false, ולכן אפשר להשתמש בה בתנאי.nextInt במקום nextLine לקליטת התשובה. לקליטת מחרוזת צריך nextLine.הטקסט המלא של הדקות הראשונות בהרצאה «תנאי בתוך תנאי» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
האם אנחנו יכולים לכתוב בתוך הבלוק של האיף עוד איף? התשובה היא כן. זה נקרא איף מקונן או באנגלית נסטד איף. בואו נעשה את זה.
בואו נניח שהאיף הראשון שאל שאלה האם הגיל גדול או שווה ל-13, אבל זה לא מספיק לנו בשביל שנוכל להגיד למשתמש שהוא יכול לפתוח חשבון פייסבוק.
בואו נניח שאנחנו צריכים שהמשתמש גם יסכים לתנאי השימוש. זה בעצם עוד שאלה שאנחנו רוצים לשאול אותו אבל רק אם הוא גדול או שווה ל-13 אם לא אנחנו בכלל לא רוצים לשאול אותו אם הוא מסכים לתנאי השימוש כי הוא לא יוכל לפתוח בכל מקרה חשבון פייסבוק.
אז בוא נניח שהוא עבר בהצלחה את האיף הראשון ונכנס לכאן כאן אנחנו יכולים לשאול אותו עוד שאלה עוד איף ושימו לב שהאיף הזה נמצא בתוך הבלוק של האיף החיצוני. לפני שנשאל את השאלה הזאת בואו קודם כל נקבל ממנו את התשובה לשאלה אז הנה השאלה do you agree to the terms and conditions נניח שהוא גם קרא את הטרמס אנד קונדישנס בואו ניקח סטרינג אנסוור שווה קונסול נקודה נקסט ליין
ויש לנו עכשיו את התשובה של היוזר אז בואו נשאל שאלה לגביה. אן סוואר ואנחנו רוצים לבצע השוואה על ידי סטרינגים. עכשיו בג'אווה זה קטע קצת מוזר לא ניתן לבצע השוואה של סטרינגים בצורה הזאת ולשאול האם אנסר שווה יס שזה קצת באסה בC-Sharp לדוגמה הדבר הזה חוקי לגמרי.
בג'אווה אנחנו צריכים לעשות את זה. בצורה הבאה קצת מוזר אבל יש לנו איזושהי פקודה שנקראת equals שבעצם נכתבת אחרי נקודה וכותבים את זה אחרי המחרוזת אז המחרוזת היא answer זה מה שהיוזר בעצם ענה ואנחנו רוצים לשאול האם ה-answer equal to yes כל הדבר הזה מחזיר לנו true או false אז בוא נניח שהיוזר ענה
yes ושימו לב שזה לא כל כך case sensitive אבל נסתפק בזה נניח שהיוזר ענה yes באותיות קטנות אז אם הוא גם מעל גיל 13 גדול או שווה ל-13 וגם ענה yes על זה שהוא מסכים לתנאי השימוש רק אז אנחנו יכולים להגיד לו את המשפט הבא you can open a facebook account אבל כאן אנחנו יכולים לרשום עכשיו אנחנו צריכים להבין איפה כל אחד נמצא
מתי המחשב מגיע לזה רק אם הוא ענה true כאן וכאן ואז הוא נכנס לכאן מתי הוא מגיע ל-else רק אם המחשב ענה true על השאלה הזאת עם הגיל גדול השווה ל-13 ו-false על השאלה הזאת ואז הוא יגיע ל-else הזה מפני שה-else שווה ל-if ששייך אליו לפי הבלוק.
אנחנו רואים שהif הזה פותח פה בלוק וסוגר פה בלוק ופה אנחנו מיד רואים אלף זאת אומרת שהוא שווה שייך אליו אז ה-else הזה התבצע רק אם הוא ענה false על השאלה הזאת אז מה אנחנו נכתוב לו כאן בואו נכתוב לו הודעה אחרת you cannot open a facebook account if you don't agree to
to the terms and conditions ויש לנו כאן סמיילי עצוב ובגלל שזה קצת ארוך if you don't agree to the terms and conditions בואו נראה אולי בעצם אנחנו כן נוכל לראות את כל הסיפור הזה בבת אחת על הקונסול אז זה יהיה בסדר אז יש לנו if מקונן nested if נסטנד קונדישן או נסטנד איף בתוך איף אחר באלס אין לנו יכול גם
באלס להיות לנו איף אין לנו מניעה לשים אלס איף בכל מקום שנרצה או ליתר דיוק איף אלס בואו נריץ את זה וננסה את כל הקומבינציות האפשריות יוזר מכניס 16 קבל שאלה do you agree to the terms and condition ואנחנו רואים שיש לנו פה את הבעיה של הקלט המלוכלך שנתקענו בה בעבר dirty input