נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: בעיה עם J2ME

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
Soda
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 06 February 2006 בשעה 20:52 | IP רשוּם
ציטוט Soda

התחלתי ללמוד לתכנת לפלאפון בJ2ME.

זאת התוכנית שעשיתי, שאמורה לקבל a, b, ו c ולהוציא את השורשים של משוואה ריבועית.

(בבקשה לא לנסות לשנות לי את כל הסידור של התוכנית. אני יודע שהיא לא בדיוק יעילה או משתמשת בכלים ההכי מתאימים אבל עזבו את זה):

קוד:

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class GhostDog
    extends MIDlet
    implements CommandListener {
  private Form mMainForm;
  private TextField tfA;
  private TextField tfB;
  private TextField tfC;
  Command cmdCalc;
  Command cmdExit;
  Form m2;
 
  public GhostDog() {
    mMainForm = new Form("x^2 Calc");
    mMainForm.append(new StringItem(null, "Insert a, b and c"));
    tfA=new TextField("a:","",5,TextField.ANY);
    tfB=new TextField("b:","",5,TextField.ANY);
    tfC=new TextField("c:","",5,TextField.ANY);
    cmdCalc=new Command("Calc!", Command.ITEM,0);
    cmdExit=new Command("Exit", Command.SCREEN,1);
    mMainForm.append(tfA);
    mMainForm.append(tfB);
    mMainForm.append(tfC);
    mMainForm.addCommand(cmdCalc);
    mMainForm.addCommand(cmdExit);
    mMainForm.setCommandListener(this);
  }
 
  public void startApp() {
    Display.getDisplay(this).setCurrent(mMainForm);
  }
 
  public void pauseApp() {}
 
  public void destroyApp(boolean unconditional) {}

  public double Abso(double x)
  {
   if (x<0) { return 0-x; }
   else return x;
  }
  public double Sqrt(double x)
  {
   double c = x;
      double t = c;
      double EPSILON = 1E-15;    // relative error tolerance

      while (Abso(t - c/t) > t*EPSILON) {
         t = (c/t + t) / 2.0;
      } 
      return t;
  }
  public void commandAction(Command cm, Displayable s) {
    if (cm==cmdCalc)
    {
     double a=Double.parseDouble(tfA.getString());
     double b=Double.parseDouble(tfB.getString());
     double c=Double.parseDouble(tfC.getString());
       double x1,x2;
       String sx1=new String();
       String sx2=new String();
       String done=new String();
       if (((b*b)-(4*a*c))>0)
       {
        x1=(-b+Sqrt((b*b-(4*a*c))))/(2*a);
        x2=(-b-Sqrt((b*b-(4*a*c))))/(2*a);
        sx1="" + x1;
        sx2="" + x2;
        done="X1="+sx1+" X2="+sx2;
       }
       else if (((b*b)-(4*a*c))==0)
       {
        x1=-b/(2*a);
        sx1="" +x1;
        done="X="+sx1;
       }
       else done="Unsolvable.";
       
       m2=new Form("Answer:");
       m2.append(new StringItem(null, done));
       Display.getDisplay(this).setCurrent(m2);
     
    }
    else if (cm==cmdExit)
    {
     destroyApp(false);
     notifyDestroyed();
    }
  }
}

שאני מריץ את זה אני מקבל ERROR:

error preverifying class GhostDog

בבקשה עזרה.

תודה!

חזרה לתחילת העמוד הצג את כרטיס החבר של Soda חפש הודעות אחרות של Soda בקר בדף הבית של Soda
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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