Bruke String å gjøre Math

stemmer
-1

Jeg prøver å lage en kalkulator som gjør det mulig for flere operasjoner (f.eks 4 + 3-2 + 5). Min grunnleggende ideen for hvordan du gjør dette på er ved hjelp av denne sløyfe:

for (int i = 0; i < nums.length; i++) {
                switch (nums[i]) {
                case add:
                    while (func.size() < i) {
                        func.add(0);
                    }
                    func.add(i, 1);
                    type = +;
                    break;
                 //More cases for other operations

Par notater: nums.length referanser en matrise som består av et inngangs ligning splittet slik: nums = equation.split((?<=[-+*/%])|(?=[-+*/%]))

Ideelt sett, når jeg har 'type' verdi, vil jeg være i stand til å gjøre mitt program beregne ligningen ved å gjøre dette:

for(int i = 1; i < nums.length; i++) {      
    ans = eq.get(0) type eq.get(func.indexOf(1)+i);
        }

En annen liten notis: eqer en Arraylist med alle verdiene nums.

Ganske mye hva jeg ønsker å gjøre er å ha typeblitt matematiske operasjoner som +, -, etc. Jeg vet denne koden er fryktelig brutt i måten jeg har vist det her, men det er bare noe jeg skrev raskt for å gi et eksempel på hva jeg ønsker å oppnå. Jeg har sett på andre spørsmål som ligner på dette, hvor løsningen var å bruke Mathklasse- og samtalefunksjoner fra det, men det fungerer ikke i mitt program. Alle som har tanker om en måte å oppnå dette? Takk!

Publisert på 19/03/2020 klokken 22:03
kilden bruker
På andre språk...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more