ניר. פורסם 2008 באוקטובר 1 Share פורסם 2008 באוקטובר 1 שלום רב !!בניתי תוכנית , ביצעתי קומפילציה (ללא שגיאות) וכאשר רציתי להריץ את התוכנית הופיע לי השגיאה הבאה בחלון פלט המסך:Exception in thread "main" java.lang.NullPointerException at World.clearNeighborCounts(World.java:56) at Living.computeNeighbors(Living.java:36) at Empty.next(Empty.java:19) at World.update(World.java:36) at RunPredatorPrey.main(RunPredatorPrey.java:11)מה השגיאה ?כיצד פותרים ומתקנים אותה ? קישור לתוכן שתף באתרים אחרים More sharing options...
Ghosthunter פורסם 2008 באוקטובר 1 Share פורסם 2008 באוקטובר 1 אתה ניגש למשתנה שלא שמת בו אובייקט.אתה צריך להשתמש ב- new ע"מ ליצור את האובייקט, ולגשת אליו. קישור לתוכן שתף באתרים אחרים More sharing options...
ניר. פורסם 2008 באוקטובר 1 מחבר Share פורסם 2008 באוקטובר 1 אתה ניגש למשתנה שלא שמת בו אובייקט.אתה צריך להשתמש ב- new ע"מ ליצור את האובייקט, ולגשת אליו.אני ניגש לאובייקט שקיים כבר אבל בכל זאת הוא מודיע לי על זה...הינה אחד הקודים אשר הוא מראה עליהם את השגיאה : public void clearNeighborCounts() { int size=this.size; for(int row=0;row<size;row++) for(int col=0;col<size;col++) { this.getCell(row,col).getCount().setCounter(0); this.getCell(row,col).getCount().setCounter(0); this.getCell(row,col).getCount().setCounter(0); this.getCell(row,col).getCount().setCounter(0); } } קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2008 באוקטובר 1 Share פורסם 2008 באוקטובר 1 תוודא שאין לך באמת nullים בקוד.תוודא שהקריאות ל-getCell לא מחזירות לך null, ושהקריאות ל-getCount לא מחזירות לך null.שים לב שהוא גם אומר לך את השורה (56). קישור לתוכן שתף באתרים אחרים More sharing options...
yousux פורסם 2008 באוקטובר 1 Share פורסם 2008 באוקטובר 1 הוא רושם לך בדיוק את השורה שיש בה את הבעיה, תסתכל שבכל הריצות האלו המשתנים בשורה הזו מאותחלים, ואם אתה עדיין מסתבך, פשוט תריץ בדיבאגר ותשים נקודת עצירה לפני השורה הזו. קישור לתוכן שתף באתרים אחרים More sharing options...
ניר. פורסם 2008 באוקטובר 2 מחבר Share פורסם 2008 באוקטובר 2 הופיע לי גם בעיה נוספת :Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at World.eden(World.java:15) at RunPredatorPrey.main(RunPredatorPrey.java:7)מה הכוונה במספר 8 שהוא מראה ?מה הבעיה ?איך פותרים אותה ? קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2008 באוקטובר 2 Share פורסם 2008 באוקטובר 2 http://www.google.co.il/search?q=ArrayIndexOutOfBoundsException קישור לתוכן שתף באתרים אחרים More sharing options...
ניר. פורסם 2008 באוקטובר 2 מחבר Share פורסם 2008 באוקטובר 2 אני מתקן שגיאה ונוצרת לי שגיאה אחרת חדשה...שגיאה נוספת :Exception in thread "main" java.lang.NullPointerException at World.update(World.java:23) at RunPredatorPrey.main(RunPredatorPrey.java:16)הקוד : public void update(World world) { int size=this.size; for(int i=1;i<=size;i++) for(int j=1;j<=size;j++) if(this.getCell(i,j).next(this)!= null) world.setCell(this.getCell(i,j).next(this),i,j); else { System.out.println("There Is No Cell.."); } }השורה עליה מצביעה השגיאה : if(this.getCell(i,j).next(this)!= null)מה הבעיה וכיצד מתקנים ופותרים אותה ? קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2008 באוקטובר 2 Share פורסם 2008 באוקטובר 2 בדקת אם getCell מחזיר null? קישור לתוכן שתף באתרים אחרים More sharing options...
ניר. פורסם 2008 באוקטובר 2 מחבר Share פורסם 2008 באוקטובר 2 בדקת אם getCell מחזיר null?כן , הוא מצביע על שורת הבדיקה בה יש בעיה... קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2008 באוקטובר 2 Share פורסם 2008 באוקטובר 2 נו, אז תבדוק למה הפונקציה מחזירה null. קישור לתוכן שתף באתרים אחרים More sharing options...
ניר. פורסם 2008 באוקטובר 2 מחבר Share פורסם 2008 באוקטובר 2 בדקתי..אין סיבה שהיא תחזיר NULL משום שכל התאים במערך מאותחלים ויש בהם עצמים.......... קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2008 באוקטובר 2 Share פורסם 2008 באוקטובר 2 הפונקציה getCell היא פונקציה שכתבת בעצמך?אם כן, אז תדבג אותה ותראה איפה היא מחזירה null.אם לא, אז תמצא את התיעוד שלה ותראה מתי היא מחזירה null. קישור לתוכן שתף באתרים אחרים More sharing options...
yousux פורסם 2008 באוקטובר 2 Share פורסם 2008 באוקטובר 2 תתחיל ללמוד איך להשתמש ב debugger של אקליפס. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.