א מזהה צפוי שגיאה היא שגיאה נפוצה מאוד בפני מתחילים. בחלק זה, נדון מהי שגיאה צפויה של מזהה , ה סיבות להתרחשות שגיאות, ו כיצד לתקן את שגיאת המזהה הצפויה ב-Java. לפני שנעבור לשגיאה תחילה נבין מה הם מזהים ב-Java .
מזהים ב-Java הם שמות סמליים המשמשים לזיהוי. הם יכולים להיות א שם מחלקה, שם משתנה, שם שיטה, שם חבילה, שם קבוע וכו' אולם ב Java , יש כמה מילים שמורות שלא ניתן להשתמש בהן כמזהה כגון int, const, new, double, enum וכו'.
להסיר מטמון npm
מהי שגיאה צפויה של מזהה?
זוהי שגיאת קומפילציה נפוצה מאוד המתרחשת בזמן ההידור.
הבה נשקול את תוכנית Java הבאה.
IdentifierError.java
public class IdentifierError { System.out.println('javatpoint'); }
כאשר אנו מנסים להדר את התוכנית לעיל, אנו מקבלים את השגיאה הבאה.
הקוד נראה בסדר אבל לא כך. כי ההצהרה המודפסת היא לא מקום ראוי. זה צריך להיות בתוך שיטה / בלוק. בוא נעטוף את הקוד בתוך שיטה ואז נקמפל ונפעיל.
IdentifierError.java
public class IdentifierError { public static void main(String args[]) { System.out.println('javatpoint'); } }
תְפוּקָה:
פקודות לינוקס
javatpoint
סיבות להתרחש שגיאה
עשויות להיות הסיבות הבאות להתרחשות השגיאה:
- זה מתרחש כאשר הקוד אינו תואם את כללי התחביר של Java.
- בלוק קוד שנכתב ישירות בגוף המחלקה במקום בתוך מתודה או בלוק.
- עשויות להיות פלטות מתולתלות במיוחד.
- הקוד לא נמצא במקום הנכון.
- כל משפט חייב לכלול נקודה-פסיק בסוף.
כיצד לתקן/לפתור שגיאות?
- אל תשכח לשים נקודה-פסיק בסוף ההצהרה.
- אל תכניס קוד ישירות לגוף הכיתה.
- קריאה לשיטות חייבת להיות בתוך מתודה, בנאי או מאתחול סטטי.
- כתוב גוש קוד במקום המתאים.
- הסר פלטה מתולתלת נוספת.
IdentifierErrorExample1.java
public class IdentifierErrorExample1 { public static void main(String args[]) { System.out.println('Python'); } System.out.println('MySql'); System.out.println('Java'); } }
בואו נקמפל את הקוד לעיל. אנו מקבלים את השגיאה הצפויה.
שים לב לקוד לעיל, אנו מקבלים שיש סד מתולתל נוסף שהוא הסיבה ליצור שגיאה. ניתן לתקן את השגיאה על ידי הסרת סד נוסף בשורה 6.
השגיאה מתרחשת גם כאשר אנו מכניסים נקודה-פסיק במקום פסיק בעת הגדרת ערכים enum . לדוגמה, שקול את הקוד הבא.
IdentifierErrorExample2.java
public class IdentifierErrorExample2 { public enum Vegetables { eggplant, tomato, broccoli; } public static void main(String args[]) { for(Vegetables veg : Vegetables.values()) System.out.println(veg); } }
בואו נריץ את הקוד שלמעלה. אנו מקבלים את השגיאה הצפויה של המזהה.
כדי לתקן את השגיאה, הסר נקודה-פסיק מערכי ה-enum.
שכבות מודל osi
public enum Vegetables { eggplant, tomato, broccoli; }
לפעמים השגיאה עשויה להיות הרבה יותר גדולה. שקול את הקוד הבא.
IdentifierErrorExample3.java
import java.util.Arrays; public class IdentifierErrorExample3 { int[] primes = {17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73}; int max_val; max_val = nums[0]; for (int i = 1; i max_val) { max_val = primes[i]; } } System.out.println('Primes Numbers are: ' + Arrays.toString(primes)); System.out.println('Largest Prime is: ' + max_val); }
בואו נקמפל את הקוד לעיל.
אנו מקבלים יותר מדי שגיאות מכיוון שחלק מהמשפטים נכתבים ישירות בתוך גוף הכיתה. כדי לפתור את השגיאה, כתוב את כל גוש הקוד בתוך מתודה ולאחר מכן הידור והפעל.
IdentifierErrorExample4.java
import java.util.Arrays; public class IdentifierErrorExample4 { public static void main(String args[]) { int[] primes = {17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73}; int max_val; max_val = primes[0]; for (int i = 1; i max_val) { max_val = primes[i]; } } System.out.println('Primes Numbers are: ' + Arrays.toString(primes)); System.out.println('Largest Prime is: ' + max_val); } }
תְפוּקָה: