الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

syntax error in calculator program

مغلق
بدأه shereen2005 في 22 يناير 2005 · 1 رد · 532 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

assalamo alykom

i made calculator code by myself but it have cerain syntax error i don't know why

plz if anyone know inform me ther is 3 errors mentione at the end

gazakom allah kol 5air

i know there is calculator code on the group but i want to know my errors plz

code as follows:

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

private  class HelloShereenMIDlet extends MIDlet implements CommandListener
{private Display firstdisplay;
Command command1=new command("Add +",Command.ITEM,1);
Command command2=new command("Sub -",Command.ITEM,1);
Command command3=new command("Mul *",Command.ITEM,1);
Command command4=new command("Div /",Command.ITEM ,1);
Command command5=new command ("Back",Command.ITEM,2);
private TextField a =new TextField(null,"x",2332323,TextField.int);
private TextField b=new Textfield(null,"y",12345633,TextField.int);
private TextField c=new TextField(null,"Z",1234567,TextField.int);
}

public void HelloShereenMIDlet (){
system.out.println("simple calculator");
}


public void startApp(){

Form f=new Form("SIMPLE CALCULATOR");
f.append(a);
f.append(B);
f.append©;
f.addcommand(command1);
f.addcommand(command2);
f.addcommand(command3);
f.addcommand(command4);
f.addcommand(command5);
f.setcommand listner(this);
Display.getDisplay(this).setCurrent(f);

}

protected void destroyApp(boolean unconditional) {}



public void commandAction(Command e, Displayable d)
{ double a1=getnumber(a,"first");
double a2=getnumber(b,"second");

 if (e==command1)
 c=a1+a2;
else if( e==command2)
c=a1-a2;
else if(e==command3)
c=a1*a2;
else if(e==comand4)
{if (a2==0);

//display.setcurrent(Alert,Displayable);//
alert.setString("Divide by zero.");
else
c=a1/a2;}

else if(e==command5)
c=0;
else
destroyApp(false);
}

Public void pauseApp(){ }
//////////////////////////////////////////////

1-what is the function to set the result or its right like this(c value)

2-error in text field definition what is it?

3-error also in the constructor.

تم تعديل هذه المشاركة بواسطة مجدي محمود في 22 يناير 2005 في 14:10

#2

هذا ما قمت بتصحيحه ولكن يجب عليك ان تقومي بتعديل الاتي من Setting قومي بتعديل من CLDC 1.0 الى CDLC1.1 وكمان قومي بعمل البرنامج بشكل مرتب وافضل لانه بهذه الطريقة التي كتبتها انا وانت كمان ما رح يشتغل لانه مش مرتب وانظري الى الكود الذي وضعته لك سابقا وقومي بمقارنته بالكود هذا وستجدي طريقة اخرى بنفسك واسهل للقيام بعمله الترتيب مطلوب في البرمجة . واقرائي الدروس وقومي بمراجعتها لاني لاحظت من الكود الذي قمت بكتابته ان عندك الكثير من الاخطاء والامور البسيطة التي هي الاساس وانت لم تعرفيها

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

public final class HelloShereenMIDlet extends MIDlet implements CommandListener 
{
private Display firstdisplay;
Command command1=new Command("Add +",Command.ITEM,1);
Command command2=new Command("Sub -",Command.ITEM,1);
Command command3=new Command("Mul *",Command.ITEM,1);
Command command4=new Command("Div /",Command.ITEM ,1);
Command command5=new Command ("Back",Command.ITEM,2);
private TextField a =new TextField(null,"x",2332323,TextField.NUMERIC);/*this wrong no int must NUMERIC*/
private TextField b=new TextField(null,"y",12345633,TextField.NUMERIC);
private TextField c=new TextField(null,"Z",1234567,TextField.NUMERIC);
 private final Alert alert = new Alert("Error", "", null, AlertType.ERROR);
///////////}

public HelloShereenMIDlet(){  // the contructor without void
System.out.println("simple calculator");
}


public void startApp(){

Form f=new Form("SIMPLE CALCULATOR");
f.append(a);
f.append(b);
/////////////f.append©;
f.addCommand(command1);
f.addCommand(command2);
f.addCommand(command3);
f.addCommand(command4);
f.addCommand(command5);
f.setCommandListener(this);
Display.getDisplay(this).setCurrent(f);

}

protected void destroyApp(boolean unconditional) {}



public void commandAction(Command e, Displayable d)
{
  double m = 0;

  double a1=getNumber(a,"first");
  double a2=getNumber(b,"second");

if (e==command1)
	{
m=a1+a2;

	}
else
if( e==command2)
{
	m=a1-a2;
    
}
else if(e==command3)
	{m=a1*a2;
    
	}
else if(e==command4)
{
	if (a2==0)//;

	{alert.setString("Divide by zero.");}
    else
m=a1/a2;

	}

else 
	if(e==command5)
	{m=0;}
else
destroyApp(false);
           

c.setString(""+m+"");
}

public void pauseApp(){ }
 private double getNumber(TextField t, String type)
            throws NumberFormatException {
        String s = t.getString();

        if (s.length() == 0) {
            alert.setString("No " + type + " Argument");
            Display.getDisplay(this).setCurrent(alert);
            throw new NumberFormatException();
        }
        double n;

        try {
            n = Double.parseDouble(s);
        } catch (NumberFormatException e) {
            alert.setString(type + " argument is out of range.");
           Display.getDisplay(this).setCurrent(alert);
            throw e;
        }
        return n;
    }
}

تم تعديل هذه المشاركة بواسطة مجدي محمود في 22 يناير 2005 في 17:47

لست متواجد بشكل يومي

هذا الموضوع مغلق.

مواضيع مشابهة