שאלה בנוגע למשימה 6.

מנהלים: TA_nimrod, TA_Igor, TA_Adi, TA_nimrod, TA_Igor, TA_Adi

שלח תגובה
michal cohen
הודעות: 87
הצטרף: 19:04 11/11/2009

שאלה בנוגע למשימה 6.

שליחה על ידי michal cohen » 17:52 19/11/2009

היי,
שתי שאלות:
1. לפי המשימה רשום שאם הביטוי לא ספיק אני רוצה להחזיר NULL.
אז כשאני מריצה את הבדיקה על ביטוי לא ספיק (ובבדיקה מבקשת להדפיס את הMU שהתקבל)- אני מקבלת NULL POINTER EXCEPTION - ככה זה אמור להיות, לא?

2. בדקתי מה קורה כשאני קוראת לפונקציה עם CNF ריק ({}) , ביקשתי להדפיס את הMU שמתקבל וקיבלתי 0. זה בסדר?

תודה.

TA_Yoni
הודעות: 236
הצטרף: 13:44 18/10/2009

Re: שאלה בנוגע למשימה 6.

שליחה על ידי TA_Yoni » 10:33 20/11/2009

1. שימי לב כי השגיאה נוצרת כתוצאה מההדפסה ולא מבאג ברקורסיה. תבדקי שהפונקציה הרקורסיבית מחזירה מערך null.

2. קריאה לפונקציה עם CNF ריק ( ויש דוגמה לכך ) אמורה להחזיר מערך ריק - {} . תראי שהפונקציה מחזירה מערך האורך שלו הוא 0.
המתרגל יוני

michal cohen
הודעות: 87
הצטרף: 19:04 11/11/2009

Re: שאלה בנוגע למשימה 6.

שליחה על ידי michal cohen » 21:47 24/11/2009

אז אני מבינה מהתשובה שלך שהפונקציה שכתבתי במשימה שש החזירה לי תשובה נכונה (אחרת היא לא הייתה מדפיסה 0 או NULL....)
ז"א... מה זה אומר תבדקי שהרקורסיה מחזירה NULL? זה בדיוק מה שבדקתי... אין לי דרך לדעת מה קיבלתי בלי להדפיס אותה... ואם זה הדפיס לי NULL אז כנראה שעשיתי בסדר, לא?

AmiEli
הודעות: 68
הצטרף: 20:24 25/10/2009

Re: שאלה בנוגע למשימה 6.

שליחה על ידי AmiEli » 01:24 25/11/2009

הדרך היחידה שלךזה לעשות
DEBUG
ולראות אם זה יוצא NULL

nahem
הודעות: 22
הצטרף: 00:59 28/10/2009

Re: שאלה בנוגע למשימה 6.

שליחה על ידי nahem » 09:07 25/11/2009

את יכולה גם לבנות test ואם הערך הוא null להדפיס את המילה null למסך...

TA_Yoni
הודעות: 236
הצטרף: 13:44 18/10/2009

Re: שאלה בנוגע למשימה 6.

שליחה על ידי TA_Yoni » 11:23 25/11/2009

אני לא יודע איך מימשת הדפסה:
הקטע קוד הבא :

קוד: בחירת הכל

public static void main(String[] args) {
		int[] a = null;
		System.out.println(a);
	}
ידפיס null למסך (לא שגיאה)

הקטע קוד הבא :

קוד: בחירת הכל

public static void main(String[] args) {
		int[] a = null;
		for (int i = 0; i < a.length; i++) {
			System.out.println(a[i]);
		}
יחזיר java.lang.NullPointerException (שגיאת זמן ריצה)
המתרגל יוני

שלח תגובה

חזור אל “- מבוא למדעי המחשב 2010”