मैं जावा के लिए बहुत नया हूं और मैं एक कैलकुलेटर बना रहा हूं, जो समीकरण लेता है और इसका मूल्यांकन करता है।ब्रैकेट प्राथमिकता
मैं इनपुट प्राप्त करने के लिए स्कैनर विधि का उपयोग कर रहा हूं, लेकिन इसका मतलब है कि मेरा इनपुट स्कैनर प्रकार है। इस इनपुट में मुझे क्या करना चाहिए ताकि मैं इसका मूल्यांकन कर सकूं? और एक बार जब मैं इसका मूल्यांकन कर सकता हूं, तो मैं ब्रैकेट को प्राथमिकता कैसे दे सकता हूं?
उदाहरण के लिए, समीकरण (5 * (4 + 3)) * 2 के लिए, मैं प्रोग्राम को पहले मूल्यांकन (4 + 3) करना चाहता हूं, फिर इसे 4 से गुणा करें, फिर यह सब गुणा करें 2.
बहुत बहुत धन्यवाद।
आपको स्ट्रिंग के रूप में अपनी अभिव्यक्ति (समीकरण नहीं, क्योंकि इसमें कोई समान चिह्न शामिल नहीं है) में पढ़ना होगा और इसे पार्स करना होगा। 'स्कैनर' का उपयोग करके टेक्स्ट की एक पंक्ति पढ़ने के अलावा, आपको इस प्रक्रिया में बहुत दूर नहीं मिलता है। –
आपने जो किया वह सही है, बाएं से दाएं से प्राथमिकता दी गई है। या आप ((4 + 3) * 5) * 2 का उपयोग कर सकते हैं। आंतरिक ब्रैकेट का मूल्यांकन पहले किया जाता है। –
अपने ऑपरेटरों को ब्रैकेट समेत एक ढेर में रखें। – user1929959