שגיאת קומפילציה של תוכנית ב-JAVA - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שגיאת קומפילציה של תוכנית ב-JAVA


ניר.

Recommended Posts

כתבתי תוכנית בשפת JAVA ולאחר ביצוע קומפילציה הופיע לי השגיאה הבאה מספר פעמים ולא הצלחתי לפתור אותה:


Severity Description Resource In Folder Location Creation Time
2 Cannot make a static reference to the non-static method getCount() from the type Rabbit Empty.java Predator-Prey line 20 17:45:18 26 ספטמבר 2008

מה הבעיה ?

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

תודה מראש לעוזרים....

קישור לתוכן
שתף באתרים אחרים

השגיאה שלך היא במקרה בפונקציית main של התוכנית ? בכל מקרה, יעזור אם תעלה את הקוד הבעייתי.

הקוד הבעייתי הינו :


public Living next(World world)
{
computeNeighbors(world);
if(Rabbit.getCount().getCounter()>2)
return new Fox(getRow(),getColumn());
if(Grass.getCount().getCounter()>4)
return new Rabbit(getRow(),getColumn());
if(Grass.getCount().getCounter()<4)
return new Grass(getRow(),getColumn());
return this;
}

הודעת ה-1000

קישור לתוכן
שתף באתרים אחרים

הפונקציה getCount() היא לא סטטית, אבל אתה מפעיל אותה ככזו, אתה צריך לקרוא לה על אינסטנס של Rabbit ולא על Rabbit עצמו.

אתה מתכוון לקרוא לו דרך העצם מסוג Rabbit ולא דרך המחלקה ?

קישור לתוכן
שתף באתרים אחרים

תודה הבעיה הזאת נפתרה אבל יש לי שגיאה נוספת:


Severity Description Resource In Folder Location Creation Time
2 The local variable nLiving may not have been initialized Fox.java Predator-Prey line 42 14:45:42 27 ספטמבר 2008

ומופיע בקוד הבא:


public Living next(World world)
{
computeNeighbors(world);
Living nLiving;
int size=world.getSize();
for(int row=0;row<size;row++)
for(int col=0;col<size;col++)
{
if(this.foxCount.getCounter()>5)
{
nLiving=new Empty(getRow(),getColumn());
}
if(age==LIFE_EXPECTANCY)
{
nLiving=new Empty(getRow(),getColumn());
}
if(world.getCell(row,col).getCount().getCounter()==0)
{
nLiving=new Empty(getRow(),getColumn());
}
age++;
return nLiving;
}

השגיאה מוצגת על השורה :


return nLiving;

מה הבעיה ואיך אני פותר אותה..?

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...