Utilizarea String pentru a face Math

voturi
-1

Am încercat să fac un calculator care permite operații multiple (de exemplu, 4 + 3-2 + 5). Ideea mea de bază pentru modul de a face acest lucru este prin utilizarea de această buclă:

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

Note cuplu: referințe nums.length o matrice care conține ecuația de intrare divizat ca aceasta: nums = equation.split((?<=[-+*/%])|(?=[-+*/%]))

În mod ideal, odată ce am valoarea „de tip“, mi-ar fi capabil de a face programul meu calcula ecuația de a face acest lucru:

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

O altă notă mică: eqeste un ArrayList cu toate valorile nums.

Destul de mult ceea ce vreau să fac este să aibă typedevenit operații matematice , cum ar fi +, -, etc Știu că acest cod este foarte rupt în modul l - am prezentat aici, dar este doar ceva ce am scris repede pentru a oferi un exemplu de ceea ce am doresc să realizeze. M - am uitat la alte întrebări similare cu aceasta în cazul în care soluția a fost de a utiliza Mathfuncțiile de clasă și de apel de la asta, dar nu funcționează în programul meu. Oricine are gânduri pe un mod de a realiza acest lucru? Mulțumiri!

Întrebat 19/03/2020 la 22:03
sursa de către utilizator
În alte limbi...                            

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