चलें कहते हैं कि मैं एक विधि है कि इस तरह से घोषित की गई है:एक स्ट्रिंग को एक मैथ अभिव्यक्ति में बदलें?
public double Calc(String expression) {
// Code
}
मैं की तरह
"2 + 4 - (3 * 4)"
एक स्ट्रिंग अभिव्यक्ति ले तो Calc()
करने के लिए इसे खिलाने के लिए चाहते हैं और यह मूल्य है कि यह हो जाता है वापस आ जाएगी।
क्या आप एक स्ट्रिंग से मैथ एक्सप्रेशन को पार कर सकते हैं ताकि यह एक अभिव्यक्ति बन जाए कि जावा समझ सकता है? क्योंकि आम तौर पर आप केवल
return 2 + 4 - (3 * 4);
लिख सकते हैं लेकिन यह केवल उस एकल अभिव्यक्ति के लिए ही काम करेगा।
इस पर एक नज़र डालें: http://stackoverflow.com/questions/2605032/using-eval-in-java –
अपनी खुद की आप सामान्य रूप से एक अभिव्यक्ति पेड़ http का उपयोग करेंगे रोल करने के लिए: //en.wikipedia .org/wiki/Binary_expression_tree –
@beto लेकिन ऐसा लगता है कि ऐसा करने से, आप बस एक ही काम करने के लिए पूरे जेएस इंजन को खोलते हैं। हालांकि मुझे लगता है कि मुझे एक संकेत दिया। धन्यवाद! – OmniOwl