Öncelikle merhaba, Java’ya bir kaç gün önce başladım ve bir hesap makinesi yazmayı deniyorum.
Tasarımı felan yaptım ancak eşittir butonunu kodlarken biraz takıldım çünkü text i çekip ordaki işlemi yaptıktan sonra sonucu vermesi gerekiyor ancak nasıl yapacağımı bulamadım.
Daha önce python da eval fonksiyonu ile bunu çok basit bir şekilde yapmıştım ancak Java’da bu tarz bir şeyler aradığımda internette bulduğum sonuçları pek kavrayamadım yazılan şeyleri denediğimde çalışmadı.Yani bildiğiniz bir yöntem var mı gerek eval la gerek başka bir yöntemle yapılcak çözümlere açığım. Teşekkürler şimdiden
Bu esittir butonunun kodu degil, hesap makinesinin tasarimi. Kullanicinin girdigi ifadeyi isleyip degerini hesaplamak hesap makinesinin kendisi. Gerisi sadece yazi yazma arayuzu.
Python’da eval
ile yapilabilmesi tamamen sans eseri, cunku eval
bir hesap makinesi ifade degerlendirici fonksiyonu degil, python kodu calistiricisi.
Java’da da aynisini Java icine Python koyarak yapmak mumkun.
Daha iyi bir cozum, sayisal/cebirsel ifadeleri algilayip degerlendiren bir kutuphane bulup onun eval
benzeri fonksiyonunu kullanmak.
Fakat bu noktada baskasinin yazdigi hesap makinesine arayuz yapmaktansa baska bir sey yazmak daha mi faydali olur diye dusunmek lazim.
Veya kendiniz bir hesap makinesi yapmayi deneyebilirsiniz. Verilen iki sayiyi toplayan bir taneyle baslanabilir. Sonra N tane sayi veya baska islemler denenebilir. Amac programlama ogrenmekse baskasinin yaptigi makineye arayuz tasarlamaktan daha faydali olacaktir.
Evet hocam haklısınız yorumunuz için teşekkür ederim. Bir kaç gün önce başka bir kütüphane bularak sorunumu çözdüm ismini hatırlamıyorum kütüphanenin ancak kütüphaneyi kullanmadan önce de aklıma basit bir fikir gelmişti yardım isteyen arkadaşlara anlatayım şu şekilde kullanıcı sayıyı yazdıktan sonra (-, +, /, *) butonlarından birisine bastığında oradaki sayının string ini alıp sıfırlıyorsunuz text i ve ikinci string i girdiğinde ya da işlemleri yazdığında o string leri alıp işlemi de araya koyarak text seçiyorsunuz tam anlatabildim mi emin değilim ama açıklayıcı olmuştur sanırım. Yorumunuz için tekrardan teşekkürler hocam kütüphanenin ismini hatırlarsam buraya tekrardan yazarım