3/23/12

[j2me]Giải Phương Trình Bậc 2


Đề bài: Viết chương trình J2ME đơn giản giải phương trình bậc 2, nhập a, b, c và tính toán xử lý sự kiện


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Main extends MIDlet implements CommandListener {
    public Display display;
    private Form  fmMain1;
    private Form fmMain2;
    private TextField texta;
    private TextField textb;
    private TextField textc;
 
    public StringItem kq1;
    public StringItem kq2;
    private Command cmExit;
    private Command cmTinh;
    public Command cmBack;

    public Main(){
       display = Display.getDisplay(this);
       fmMain1 = new Form("Giair Phương trình bậc 2");
       fmMain2 = new Form("Nghiệm của Phương trình");
       texta = new TextField("Nhap a:","",15,TextField.DECIMAL);
       textb = new TextField("Nhap b:","",15,TextField.DECIMAL);
       textc = new TextField("Nhap c:","",15,TextField.DECIMAL);
       //StringItem được dùng để hiển thị một nhãn hay chuỗi văn bản
       kq1 = new StringItem("","");
       kq2 = new StringItem("","");
       cmExit = new Command("Thoát",Command.EXIT,1);
       cmTinh = new Command("Tinh",Command.OK,1);
       cmBack = new Command("Trở lại",Command.BACK,1);
       fmMain1.addCommand(cmExit);
       fmMain1.addCommand(cmTinh);
       fmMain1.append(texta);
       fmMain1.append(textb);
       fmMain1.append(textc);
       fmMain1.setCommandListener(this);
       fmMain2.addCommand(cmExit);
       fmMain2.addCommand(cmBack);
       fmMain2.append(kq1);
       fmMain2.append(kq2);
       fmMain2.setCommandListener(this);

    }
    public void giaipt(int hsa,int hsb,int hsc){
        int delta;
        delta = hsb*hsb - 4*hsa*hsc;
        float x1,x2;
        if(delta>0) {
            x1=(float)(-hsb+(Math.sqrt(delta))/(2*hsa));
            x2=(float)(-hsb-(Math.sqrt(delta))/(2*hsa));
            kq1.setText("x1="+x1);
            kq2.setText("x2="+x2);
        }
        else {
            if(delta==0){
            x1=x2=-hsb/(2*hsa);
                kq1.setText("Phương trình có 1 nghiệm chung: ");
                kq2.setText("x1=x2= " +x1);
            }
            else {
                kq1.setText("Phương trình Vô Nghiệm");
                kq2.setText("");
            }
        }
    }
    public void startApp() {
        display.setCurrent(fmMain1);

    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
    public void commandAction(Command c,Displayable s){

        if(c == cmTinh){
           if(texta.getString().compareTo("")==0||textb.getString().compareTo("")==0||textc.getString().compareTo("")==0){
               kq1.setText("Bạn chưa nhập đủ, hãy nhập lại");
           }
           else
           {
             int hsa,hsb,hsc,hsd,hse,hsf;
             hsa =Integer.parseInt(texta.getString());
             hsb =Integer.parseInt(textb.getString());
             hsc =Integer.parseInt(textc.getString());
             giaipt(hsa,hsb,hsc);
           }
           display.setCurrent(fmMain2);
        }
       if(c == cmExit){
           destroyApp(false);
           notifyDestroyed();
       }
       if(c == cmBack){
           display.setCurrent(fmMain1);
       }
    }
}
Bookmark and Share

0 comments:

Post a Comment

Next previous home

Cộng đồng yêu thiết kế Việt Nam Thiet ke website, danang