עבור לתוכן

האם יש פעולה מובנית בתוך JAVA לבדוק שאין חריגה ממערך מסויים?

Featured Replies

פורסם

ז"א - לבדוק שאכן התא הספציפי קיים במערך ולא "מחוצה לו"?? :bash: :bash:

תודה......

פורסם

אם תנסה לגשת לתא מחוץ למערך, ייזרק לך OutOfBoundsExecption.

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

בשביל זה יש לך את length שמחזיר לך את אורך המערך.

פורסם
  • מחבר

שאלה: אם אני רושם דבר כזה: (if (arr[m][n]<arr.length זה לא בודק האם הערך שבתא קטן מהאורך(לדוג' האורך הוא 10 , בתא יש 20)?

פורסם

arr[m][n] מחזיר לך את הערך שיש בתא הנ"ל.

arr.length מחזיר את מס השורות במטריצה.

אתה בעצם בודק אם הערך שיש בתא הזה קטן ממס השורות המטריצה.

פורסם

אם אתה רוצה לבדוק אם התא עצמו נמצא במערך, אתה צריך לבדוק את n ו- m (האינדקסים) עם אורך המערך ואורך כל שורה.

פורסם
  • מחבר

בדיוק, ואני לא רוצה לבדוק את זה....

אפשר לבדוק האם m ו-n קטנים מ-arr.length? וזה ייתן לי את מה שאני רוצה?

פורסם

אתה צריך לבדוק:

א. אם m קטן מ-arr.length

ב. אם n קטן מ-arr[m].length (בהנחה שסעיף א הצליח)

פורסם
  • מחבר

:xyxthumbs: :xyxthumbs: :xyxthumbs:

תודה רבה....

פורסם

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

if((m<arr.length)&&(n<arr[m].length))

)

וזה יבטיח שקודם יבדק התנאי m<arr.length ורק אם הוא אמת (כלומר m בתחום) אז יבדק n<arr[m].length.

פורסם

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

זה מה שאתה חושב שההבדל ביניהם?

פורסם

זה מה שאני זוכר. בכל אופן, זו אחת מהתכונות שלו, אשמח לשמוע הרחבה בנושא.

פורסם

yikes.

& זה bitwise operator, מה שאומר שהוא פועל על integers.

בדומה לפעולה כמו + או -, הוא תמיד תלוי בשני האופרנדים.

&& זה אופרטור בוליאני, שעובד על booleans.

הערך של ביטוי בוליאני שכולל &&, ושהערך שמשמאל ל- && הוא false, יהיה תמיד false, ולכן בזמן ריצה הביטוי שמימינו לא יחושב.

ב- Java (בניגוד ל- C) אתה אפילו לא יכול להפעיל את & על משתנים בוליאניים.

פורסם

כן.

ישנו שירות המחזיר את אורך המערך עליו אתה עובד.

ניתן לטיפול בעזרת exceptions או If, תלוי איך בא לך.

תבדוק את התיעוד של Array לפרטים (מצטער לא זוכר בע"פ).

פורסם

yikes.

& זה bitwise operator, מה שאומר שהוא פועל על integers.

בדומה לפעולה כמו + או -, הוא תמיד תלוי בשני האופרנדים.

&& זה אופרטור בוליאני, שעובד על booleans.

הערך של ביטוי בוליאני שכולל &&, ושהערך שמשמאל ל- && הוא false, יהיה תמיד false, ולכן בזמן ריצה הביטוי שמימינו לא יחושב.

ב- Java (בניגוד ל- C) אתה אפילו לא יכול להפעיל את & על משתנים בוליאניים.

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

		boolean a = true;
boolean b = false;
if (a&b){
}

פורסם

השאלה אם הוא נכנס לIF.

ארכיון

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

דיונים חדשים