05-05-2009, 15:57
|
|
|
|
חבר מתאריך: 17.09.05
הודעות: 6,023
|
|
בעייה היצירת Queue גנרי בJAVA
שלום
אני מנסה ליצור Queue גנרי בJAVA שממומש ע"י מערך.
כאשר אני מנסה להריץ את המחלקה ולהכניס אליה איבר מסוג Rig למשל (אובייקט Rig) זה קורס.
כשאני מנסה לדבג ולהיכנס לתוך פונקציית הINSERT האקליפס מביא אותי למסך מוזר(הוספתי תמונה שלו). ככה שאין לי מושג מה הבעייה ואני לא יכול לדבג.
אשמח אם מישהו יוכל לעזור לי למצוא את הבאג המסתורי.
התרגיל הוא להגשה עוד יומיים ויש לי עוד עבודה רבה עליו ולכן אני צריך תשובה בהקדם האפשרי.
תודה
אגב, על הקוד ליצירת מערך (NEW) אני מקבל אזהרת אבטחה ואין לי ממש מושג איך להוריד אותה. יכול להיות שכאן הבעייה ? על צורת ההגדרה הרגילה של מערך של T (זו שמסומנת בהערה) אני מקבל שגיאה שלא ניתן ליצור מערך של T
זה הקוד של הפונקציה להוספת איבר לתור הגנרי
קוד PHP:
public boolean insert(T obj) {//add one more object to the queue if(que!=null) { T tmp[];//tmp array //tmp = new T[num]; tmp = (T[])new Object[num]; for(int i=0;i<num;i++) { tmp[i]=que[i]; } que = (T[])new Object[num+1]; que[0] = obj; for(int j=0;j<num;j++) { que[j+1]=tmp[j]; } num++;//inc the count priority--; return true; } else { que = (T[])new Object[1]; que[0]=obj; num++; return true; } }
ככה מוגדרת המחלקה
קוד:
public class Queue<T>{
private T que[];
private int num;//number of objects
private int priority;
public Queue()
{
num=0;
priority=0;
que=null;
}
זה המסך שאני מקבל
_____________________________________
נערך לאחרונה ע"י fcf בתאריך 05-05-2009 בשעה 16:00.
|