الآلة الحاسبة التي تم تنفيذها في Java ، يتم قراءة المبدأ كتعليقات رمز ، والمحتوى المحدد هو كما يلي
الفئة العامة mycalculator {public static void main (string [] args) {string obj = "6+ (8/2)+6/3+1*8+30" ؛ ArrayList <String> ArrayList = Strformat (OBJ) ؛ system.out.println (obj + "=" + calculate (ArrayList)) ؛ } / *** استخدم التعبيرات اللاحقة لحساب النتيجة* 1. عندما تكون السلسلة الحالية رقمًا ، أدخل مباشرة المكدس* 2. عندما تكون السلسلة الحالية آلة حاسبة ، قم بإخراج أول حسابين على المكدس* 3. ضع نتيجة الحساب في المكدس ، وآخر العنصر المتبقي في المكدس هو النتيجة المطلوبة* الثابتة الخاصة (erclist <Straylist <bray>) System.out.println (نتيجة) ؛ المكدس <integer> stack = new stack <> () ؛ لـ (int i = 0 ؛ i <result.size () ؛ i ++) {string symbol = result.get (i) ؛ if (isDigital (symbol)) {// الرقم هو stack.push مباشرة (integer.parseint (رمز)) ؛ } آخر {// المشغل int num1 ، num2 ؛ num1 = stack.pop () ؛ // خذ رقمين num2 = stack.pop () ؛ Switch (Symbol) {case " +": stack.push (num2 + num1) ؛ استراحة؛ حالة " -": stack.push (num2 - num1) ؛ استراحة؛ حالة " *": stack.push (num2 * num1) ؛ استراحة؛ حالة " /": stack.push (num2 / num1) ؛ استراحة؛ الافتراضي: استراحة ؛ }}} return stack.pop () ؛ } / *** يتم تغيير اجتياز الترتيب إلى اجتياز اللاحق* / arraylist ثابت خاص <string> transform (ArrayList <string> ArrayList) {stack <string> stack = new stack <> () ؛ ArrayList <String> result = new ArrayList <> () ؛ لـ (int index = 0 ؛ index <arrayList.size () ؛ index ++) {string symbol = ArrayList.get (index) ؛ إذا كان (isDigital (رمز)) {// إذا كان رقمًا ، فسيتم إخراجه مباشرة. } آخر إذا (symbor.equals (")")) {String tmp ؛ بينما (! (tmp = stack.pop ()). يساوي ("(" (") {// توقف بعد المباراة ناجحة. يتم إطلاق الأولوية في المكدس. سلسلة arraylist * param src 3 * 5 + 8 ؛ لـ (int i = 0 ؛ i <src.length () ؛ i ++) {char ch = src.charat (i) ؛ comchar.delete (0 ، comchar.ling (ch) ؛ Param Symbol 782 أو + - */ * RETURN TRUE أو FALSE */ private static boolean ISDIGITAL (SHOND) {return! symbor.equals (" +") &&! inpriority (string ch) {switch (ch) {case "+". "): عودة 1 ؛كل ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.