עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

שגיאה בזמן ריצה ב-JAVA

Featured Replies

פורסם

שלום רב !!

בניתי תוכנית , ביצעתי קומפילציה (ללא שגיאות) וכאשר רציתי להריץ את התוכנית הופיע לי השגיאה הבאה בחלון פלט המסך:


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)

מה השגיאה ?

כיצד פותרים ומתקנים אותה ?

פורסם

אתה ניגש למשתנה שלא שמת בו אובייקט.

אתה צריך להשתמש ב- new ע"מ ליצור את האובייקט, ולגשת אליו.

פורסם
  • מחבר

אתה ניגש למשתנה שלא שמת בו אובייקט.

אתה צריך להשתמש ב- 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);
}
}

פורסם

תוודא שאין לך באמת nullים בקוד.

תוודא שהקריאות ל-getCell לא מחזירות לך null, ושהקריאות ל-getCount לא מחזירות לך null.

שים לב שהוא גם אומר לך את השורה (56).

פורסם

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

פורסם
  • מחבר

הופיע לי גם בעיה נוספת :


Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
at World.eden(World.java:15)
at RunPredatorPrey.main(RunPredatorPrey.java:7)

מה הכוונה במספר 8 שהוא מראה ?

מה הבעיה ?

איך פותרים אותה ?

פורסם
  • מחבר

אני מתקן שגיאה ונוצרת לי שגיאה אחרת חדשה...

שגיאה נוספת :


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)

מה הבעיה וכיצד מתקנים ופותרים אותה ?

פורסם
  • מחבר

בדקת אם getCell מחזיר null?

כן , הוא מצביע על שורת הבדיקה בה יש בעיה...

פורסם
  • מחבר

בדקתי..אין סיבה שהיא תחזיר NULL משום שכל התאים במערך מאותחלים ויש בהם עצמים..........

פורסם

הפונקציה getCell היא פונקציה שכתבת בעצמך?

אם כן, אז תדבג אותה ותראה איפה היא מחזירה null.

אם לא, אז תמצא את התיעוד שלה ותראה מתי היא מחזירה null.

פורסם

תתחיל ללמוד איך להשתמש ב debugger של אקליפס.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.