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除號!) + } }