דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ג'אווה... התחביר נכון?

ג'אווה... התחביר נכון?

מתוזמן נעוץ נעול הועבר תכנות
5 פוסטים 3 כותבים 250 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מוטי מןמ מנותק
    מוטי מןמ מנותק
    מוטי מן
    כתב ב נערך לאחרונה על ידי מוטי מן
    #1

    שלום, אני יודע שזה דרישה קצת גדולה מידי...
    החלטתי ללמוד ג'אווה, כדי לבנות (ולערוך:) יישומים ל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.

    OdedDvirO תגובה 1 תגובה אחרונה
    0
    • OdedDvirO מנותק
      OdedDvirO מנותק
      OdedDvir
      השיב למוטי מן ב נערך לאחרונה על ידי OdedDvir
      #2

      @מוטי-מן זה קוד שהתקבל על ידי דה-קומפילציה של התוכנה, נכון?
      על פי מה שאני יודע, הדיקומפיילר נותן את השם 1 באופן שרירותי למחלקה, וייתכן שהקובץ המכיל את קוד המחלקה הוא עם שם שונה. תבדוק כמה קבצים נוצרו על ידי הדיקומפיילר ואם קיים שם קובץ בשם "1".

      מוטי מןמ תגובה 1 תגובה אחרונה
      5
      • מוטי מןמ מנותק
        מוטי מןמ מנותק
        מוטי מן
        השיב לOdedDvir ב נערך לאחרונה על ידי
        #3

        @OdedDvir זה הקבצים שיש, 3 סה"כ.
        30ce87e5-9fe0-43dc-a195-afc4eb2fbc92-image.png

        OdedDvirO תגובה 1 תגובה אחרונה
        0
        • OdedDvirO מנותק
          OdedDvirO מנותק
          OdedDvir
          השיב למוטי מן ב נערך לאחרונה על ידי OdedDvir
          #4

          @מוטי-מן הקובץ Light$1 נוצר כדי לייצג מחלקה אנונימית שהייתה בקוד המקורי. הדיקומפיילר קרא למחלקה בשם השרירותי הזה. השגיאה היא בשורה:

          import se.light.Light.1;
          

          אני לא מבין בג'אווה אבל האינטואיציה שלי אומרת שהפתרון יכול להיות אחת מהאפשרויות:
          א. לשנות את השם של הקובץ והמחלקה שהוא מכיל לשם אחר.
          ב. לשלב את הקוד מהקובץ Light$1 בתוך הקובץ הראשי ולוותר על הייבוא.
          ג. אולי לייבא כך:

          import se.light.Light$1;
          

          אם שום דבר לא עוזר אולי תשתף כאן את התוכן של Light$1

          תגובה 1 תגובה אחרונה
          6
          • ח מנותק
            ח מנותק
            חוקר
            כתב ב נערך לאחרונה על ידי
            #5

            מהנסיון שהיה לי אף פעם לא הצלחתי לעשות דה קומפיילר ולקבל את הקוד הנכון במלואו.
            הייתי מציע לך לחפש יישום עם קוד פתוח, ואולי אפילו היישום שעליו ניסית כעת, אולי ניתן למצוא אותו בקוד פתוח.
            ומשם תתחיל להמשיך לקמפל ולנסות..
            בהצלחה

            תגובה 1 תגובה אחרונה
            4
            • dovidD dovid העביר נושא זה מ-תכנות ב-

            בא תתחבר לדף היומי!
            • התחברות

            • אין לך חשבון עדיין? הרשמה

            • התחברו או הירשמו כדי לחפש.
            • פוסט ראשון
              פוסט אחרון
            0
            • דף הבית
            • קטגוריות
            • פוסטים אחרונים
            • משתמשים
            • חיפוש
            • חוקי הפורום