Matematik yapmak Dize kullanma

oy
-1

Birden operasyonlar için izin veren bir hesap makinesi (örneğin 4 + 3-2 + 5) yapmaya çalışıyorum. Bunun nasıl Benim temel fikir bu döngü kullanmaktır:

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

Çift Notlar: nums.length referanslar bu gibi giriş denklem bölme içeren bir dizi: nums = equation.split((?<=[-+*/%])|(?=[-+*/%]))

Ben 'type' değere sahip bir kez İdeal olarak, benim programı yaparak denklemi hesaplamak yapmak mümkün olurdu:

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

Başka küçük not: eqdeğerleriyle her bir ArrayList olduğunu nums.

Hemen hemen ben is var ne yapmak istediğinizi type+, gibi matematik işlemleri haline - vs. Ben bu kod korkunç ben buradan gösterdiğimiz şekilde bozulmuştur biliyorum, ama bu hızla bir örneğini temin etmek yazdığı olan bir şey ne başarmak istiyoruz. Ben çözüm kullanmayı nerede buna benzer diğer sorular baktım Mathbundan sınıf ve arama fonksiyonlarını, ama benim programda çalışmaz. Herkes bir yol üzerinde düşünceler bunu başarmak için var? Teşekkürler!

Oluştur 19/03/2020 saat 22:03
kaynak kullanıcı
Diğer dillerde...                            

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