Avatar billede jlemming Nybegynder
30. januar 2008 - 07:51 Der er 3 kommentarer og
2 løsninger

beregn med decimal i j2me

Hej
Jeg ved ikke om spm passer i denne kategori men kunne andre steder den passede ind.
(Jeg er ny i java.) Jeg ville gerne have følgende kode, til at regne med decimaler også,(ændre data type fra integer til float), men min compiler hvilket ikke godkende mine forsøg på at ændre det.

Formelen skal ændres til: textal1*(100/(sqrt(txttal2))

Kan I hjælpe?


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

public class SimpelCalc

    extends MIDlet
    implements CommandListener
{
    private Form mainForm;
    private TextField txtTal1, txtTal2;
    private StringItem resultat;
    private Command afslut, beregn;


    public SimpelCalc()
    {
        mainForm = new Form("HONEYWELL Ventilberegning!");
       
        txtTal1 = new TextField("Maks flow [m3/h]", "", 10, TextField.NUMERIC);
        mainForm.append(txtTal1);

        txtTal2 = new TextField("Trykfald [mmVs]", "1000", 10, TextField.NUMERIC);
        mainForm.append(txtTal2);

        resultat = new StringItem("Kv værdi", "");
        mainForm.append(resultat);

//        afslut = new Command("Afslut", Command.SCREEN, 1);
//        mainForm.addCommand(afslut);

        beregn = new Command("Beregn", Command.SCREEN, 0);
        mainForm.addCommand(beregn);

        mainForm.setCommandListener(this);
    }

    public void startApp()
    {
        Display.getDisplay(this).setCurrent(mainForm);
    }

    public void commandAction(Command c, Displayable s)
    {
        if(c == afslut)
            notifyDestroyed();
        if(c == beregn)
        {
            // formelen skal være res= textal1*(100/(sqrt(txttal2))
            resultat.setText(""+(integer.parseInt(txtTal1.getString()) + (intger.parseInt(txtTal2.getString()))));
        }
    }

    public void pauseApp() { }

    public void destroyApp(boolean unconditional) { }

}
Avatar billede simonvalter Praktikant
30. januar 2008 - 09:12 #1
float/double's er ikke understøttet under j2me(cldc 1.0)

Ud fra hvad jeg kan se så blev klasserne Double og Float tilføjet i version 1.1

Så du må udvikle til version 1.1 eller prøve et af de mange Fixed point libraries

prøv f.eks http://www.dclausen.net/projects/microfloat/ eller en af de mange andre resultater du kan finde her

http://www.google.dk/search?hl=da&q=j2me+floating+point&btnG=S%C3%B8g&meta=


kan huske arne_v hjalp mig med det samme engang ;)
Avatar billede jlemming Nybegynder
30. januar 2008 - 10:56 #2
okey, nu har jeg skiftet til cldc 1.1 .

Hvordan skal min formelen så se ud?
Avatar billede jlemming Nybegynder
30. januar 2008 - 15:03 #3
ok, så har jeg fået hul på lidt af problemmet,

Hvad siger du til 25 point?, for halvdelen af svaret
Avatar billede simonvalter Praktikant
31. januar 2008 - 08:38 #4
fint ;)
Avatar billede jlemming Nybegynder
31. januar 2008 - 08:53 #5
tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester