פורסם 2011 בנובמבר 1114 שנים שלום לכולם אני צריך לנסח משפט תנאי שיבדוק אם הקלט חוקי (הקטל הוא String) קלט חוקי הוא קלט: 1)לא ריק 2)לא null 3)אסור שיכיל רק מספרים (יכול להכיל אותיות ומספרים ביחד) 4)חייב להכיל אותיות (בכל שפה שקימת) זה מה שכתבתי אבל זה לא עובד boolean text = false; for(int i=0;i<add.length();i++) { if(!((add.charAt(i)>=0) && !(add.charAt(i)<=9))) { text=true; } if((add.equals("")) || (add.equals(null))) { text=false; } } if(text=false) { System.out println("NO!!!"); }
פורסם 2011 בנובמבר 1214 שנים היי,שני דברים:1. חסר לך = בשורה האחרונה.2. שים לב, עם ה-string הוא null אין טעם לבדוק את זה כל פעם בלולאה. הייתי דווקא מתחיל עם מקרה קצת זהif ( add.equals == "" ) System.out.println("no...) elseואז ממשיך אם שאר התוכנית3. באופן כללי מאוד כדאי להקפיד על הזחה נכונה, במיוחד כשכותבים תנאים כי זה עושה סדר בראש, איזה תנאי בה לפני מה, מה בתוך הלולאה ומה לא..בהצלחה
פורסם 2011 בנובמבר 1214 שנים כמו שנאמר הבדיקה אם המחרוזת שונה מ null צריכה להתבצע ראשונה, במידה והמחרוזת אכן null אין אפשרות לגשת לאף אחת מהפונקציות של האובייקט ולכן אתה תקבל null exceptions (לדוגמא הפונקציה הראשונה שאתה מנסה לקרוא לה היא length)בנוסף לא זאת הדרך לבדוק את משהו הוא null : add.equals(null) כי שוב, במידה והאובייקט באמת null אין לו יכולת לקרוא לפונקציה equals ולכן שוב תקבל null exception .הדרך הנכונה היא :if (null == add)בהצלחה
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.