-
שלום, אני יודע שזה דרישה קצת גדולה מידי...
החלטתי ללמוד ג'אווה, כדי לבנות (ולערוך:) יישומים לC2 (מקווה שזה לא נוגד את חוקי הפורום...)
לקחתי איזה יישום שעושה מסך לבן, פנס, פרקתי אותו, ושיחקתי קצת, בקימפול ה javac עושה לי errors ואני לא מצליח להבין איפה הטעויות, אשמח להחכים!!זה אחד מהקבצים, אני מצרף את הקוד ומיד אח"כ את הפלט של הקומפיילר
package se.light; import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; import se.light.Light.1; public class Light extends MIDlet { private Display display; private WhiteCanvas canvas = new WhiteCanvas(this); public Light() { (new 1(this)).start(); } protected void destroyApp(boolean arg0) throws MIDletStateChangeException { } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { this.display = Display.getDisplay(this); this.display.setCurrent(this.canvas); } public void exitMidlet() { try { this.destroyApp(true); } catch (MIDletStateChangeException var2) { } this.notifyDestroyed(); } }וזה הפלט של הקומפיילר (כל השגיאות בשורה ה13, כמעט, חוץ מהראשונה)
Light.java:6: error: ';' expected import se.light.Light.1; ^ Light.java:13: error: <identifier> expected (new 1(this)).start(); ^ Light.java:13: error: '(' or '[' expected (new 1(this)).start(); ^ Light.java:13: error: not a statement (new 1(this)).start(); ^ Light.java:13: error: not a statement (new 1(this)).start(); ^ Light.java:13: error: ';' expected (new 1(this)).start(); ^ 6 errorsיצויין שאינני מעוניין שתפתרו לי את הבעיות לבד, אלא שתלמדו אותי מהם, ואיך למצוא אותם בעצמי...
Thank you very much.
-
שלום, אני יודע שזה דרישה קצת גדולה מידי...
החלטתי ללמוד ג'אווה, כדי לבנות (ולערוך:) יישומים לC2 (מקווה שזה לא נוגד את חוקי הפורום...)
לקחתי איזה יישום שעושה מסך לבן, פנס, פרקתי אותו, ושיחקתי קצת, בקימפול ה javac עושה לי errors ואני לא מצליח להבין איפה הטעויות, אשמח להחכים!!זה אחד מהקבצים, אני מצרף את הקוד ומיד אח"כ את הפלט של הקומפיילר
package se.light; import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; import se.light.Light.1; public class Light extends MIDlet { private Display display; private WhiteCanvas canvas = new WhiteCanvas(this); public Light() { (new 1(this)).start(); } protected void destroyApp(boolean arg0) throws MIDletStateChangeException { } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { this.display = Display.getDisplay(this); this.display.setCurrent(this.canvas); } public void exitMidlet() { try { this.destroyApp(true); } catch (MIDletStateChangeException var2) { } this.notifyDestroyed(); } }וזה הפלט של הקומפיילר (כל השגיאות בשורה ה13, כמעט, חוץ מהראשונה)
Light.java:6: error: ';' expected import se.light.Light.1; ^ Light.java:13: error: <identifier> expected (new 1(this)).start(); ^ Light.java:13: error: '(' or '[' expected (new 1(this)).start(); ^ Light.java:13: error: not a statement (new 1(this)).start(); ^ Light.java:13: error: not a statement (new 1(this)).start(); ^ Light.java:13: error: ';' expected (new 1(this)).start(); ^ 6 errorsיצויין שאינני מעוניין שתפתרו לי את הבעיות לבד, אלא שתלמדו אותי מהם, ואיך למצוא אותם בעצמי...
Thank you very much.
-
@מוטי-מן זה קוד שהתקבל על ידי דה-קומפילציה של התוכנה, נכון?
על פי מה שאני יודע, הדיקומפיילר נותן את השם 1 באופן שרירותי למחלקה, וייתכן שהקובץ המכיל את קוד המחלקה הוא עם שם שונה. תבדוק כמה קבצים נוצרו על ידי הדיקומפיילר ואם קיים שם קובץ בשם "1". -
@מוטי-מן הקובץ Light$1 נוצר כדי לייצג מחלקה אנונימית שהייתה בקוד המקורי. הדיקומפיילר קרא למחלקה בשם השרירותי הזה. השגיאה היא בשורה:
import se.light.Light.1;אני לא מבין בג'אווה אבל האינטואיציה שלי אומרת שהפתרון יכול להיות אחת מהאפשרויות:
א. לשנות את השם של הקובץ והמחלקה שהוא מכיל לשם אחר.
ב. לשלב את הקוד מהקובץ Light$1 בתוך הקובץ הראשי ולוותר על הייבוא.
ג. אולי לייבא כך:import se.light.Light$1;אם שום דבר לא עוזר אולי תשתף כאן את התוכן של Light$1
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות
