From ee555169c1ecb281a3b3a9e1ce6d50d9f1b86306 Mon Sep 17 00:00:00 2001 From: Pin Lin Date: Wed, 6 May 2020 09:16:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E7=94=A8=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E7=95=B6=E8=AE=8A=E6=95=B8=E5=90=8D=E5=AD=97=E5=95=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AndroidCalculator/Calculator.swift | 37 +++++++++++++----------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/AndroidCalculator/Calculator.swift b/AndroidCalculator/Calculator.swift index cca7635..5ead6d0 100644 --- a/AndroidCalculator/Calculator.swift +++ b/AndroidCalculator/Calculator.swift @@ -33,31 +33,26 @@ class Calculator { } while true { - let indexOfMultiplication = calculatingFormula.firstIndex(of: "×") - let indexOfDivision = calculatingFormula.firstIndex(of: "÷") + let indexOf乘號 = calculatingFormula.firstIndex(of: "×") + let indexOf除號 = calculatingFormula.firstIndex(of: "÷") - if indexOfMultiplication == nil && indexOfDivision == nil { + if indexOf乘號 == nil && indexOf除號 == nil { break } - if indexOfMultiplication != nil { - if indexOfDivision == nil || indexOfMultiplication! < indexOfDivision! { - let number1 = Double(calculatingFormula[indexOfMultiplication! - 1])! - let number2 = Double(calculatingFormula[indexOfMultiplication! + 1])! - calculatingFormula[indexOfMultiplication! - 1] = String(number1 * number2) - calculatingFormula.remove(at: indexOfMultiplication! + 1) - calculatingFormula.remove(at: indexOfMultiplication!) - continue - } + if indexOf乘號 != nil && (indexOf除號 == nil || indexOf乘號! < indexOf除號!) { + let number1 = Double(calculatingFormula[indexOf乘號! - 1])! + let number2 = Double(calculatingFormula[indexOf乘號! + 1])! + calculatingFormula[indexOf乘號! - 1] = String(number1 * number2) + calculatingFormula.remove(at: indexOf乘號! + 1) + calculatingFormula.remove(at: indexOf乘號!) } - if indexOfDivision != nil { - if indexOfMultiplication == nil || indexOfDivision! < indexOfMultiplication! { - let number1 = Double(calculatingFormula[indexOfDivision! - 1])! - let number2 = Double(calculatingFormula[indexOfDivision! + 1])! - calculatingFormula[indexOfDivision! - 1] = String(number1 / number2) - calculatingFormula.remove(at: indexOfDivision! + 1) - calculatingFormula.remove(at: indexOfDivision!) - continue - } + if indexOf除號 != nil && (indexOf乘號 == nil || indexOf除號! < indexOf乘號!) { + let number1 = Double(calculatingFormula[indexOf除號! - 1])! + let number2 = Double(calculatingFormula[indexOf除號! + 1])! + calculatingFormula[indexOf除號! - 1] = String(number1 / number2) + calculatingFormula.remove(at: indexOf除號! + 1) + calculatingFormula.remove(at: indexOf除號!) + } }