Χρησιμοποιώντας String να κάνει Μαθηματικά

ψήφοι
-1

Προσπαθώ να κάνω μια αριθμομηχανή που επιτρέπει πολλαπλές λειτουργίες (π.χ. 4 + 3-2 + 5). βασική ιδέα μου για το πώς να γίνει αυτό είναι με τη χρήση αυτού του βρόχου:

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

Σημειώσεις Ζεύγος: αναφορές nums.length ένας πίνακας που περιέχει την εξίσωση εισόδου διάσπαση όπως αυτό: nums = equation.split((?<=[-+*/%])|(?=[-+*/%]))

Στην ιδανική περίπτωση, από τη στιγμή που έχω την τιμή «τύπος», θα ήθελα να είναι σε θέση να κάνει το πρόγραμμά μου υπολογισμό της εξίσωσης με τον τρόπο αυτό:

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

Μια άλλη μικρή σημείωση: eqείναι ένα ArrayList με όλες τις τιμές nums.

Λίγο πολύ αυτό που θέλω να κάνω είναι να έχει typeγίνει μαθηματικές πράξεις όπως +, -, κλπ ξέρω αυτός ο κώδικας είναι τρομερά σπάσει με τον τρόπο που το έχω δείξει εδώ, αλλά είναι απλά κάτι που έγραψα γρήγορα για να παρέχει ένα παράδειγμα του τι θέλετε να πετύχετε. Έχω κοίταξε άλλα ζητήματα παρόμοια με το συγκεκριμένο όπου η λύση ήταν να χρησιμοποιήσετε τις Mathλειτουργίες κατηγορίας και κλήση από αυτό, αλλά δεν λειτουργεί στο πρόγραμμά μου. Όποιος έχει σκέψεις για έναν τρόπο για να επιτευχθεί αυτό; Ευχαριστώ!

Δημοσιεύθηκε 19/03/2020 στις 22:03
πηγή χρήστη
Σε άλλες γλώσσες...                            

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