23. oktober 2004 - 18:05Der er
6 kommentarer og 3 løsninger
Udregne simpelt algebraisk udtryk i string form.
Hej, Mit problem ligger i at jeg har et algebraisk udtryk i en string. f.eks. String test = "(4+5)*5". Jeg ønsker så at få integer værdien af dette udtryk.
Da java jo sagtens kan regne: int test = (4+5)*5;
tænkte jeg at det må være muligt at lave String'en om til almindelig java kode og så udregne det, eller lign.
Hvis dette ikke er muligt, findes der så nogle gode java matematik pakker man kan hente gratis?
Hvis du selv vil skrive kode til udregning af sådanne udtryk, kan jeg fortælle dig, at man i fagsproget kalder det "indlæseprogrammer". En lærer på DTU (Danmarks Tekniske Universitet) har skrevet en bog om dette. Det er lidt langhåret, så forsøg at finde nogle færdige rutiner hvis du kan.
indlæse programmer må være en fordanskning af parser programs.
Og selvom det selvfølgelig er en form for parsning, så bruger man normalt ikke klassiske parser teknik (grammatik, EBNF, yacc etc.) til denne type problem stilling.
En simpel lexikalsk scan og en konvertering af resultatet fra infix til postfix er nok.
Sådan, tak for hjælpen. Ekstra 50 til arne for et andet spørgsmål.
Synes godt om
Ny brugerNybegynder
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.