計算乘除的結果
This commit is contained in:
@@ -20,7 +20,51 @@ class Calculator {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var result = ""
|
|
||||||
|
var result: String {
|
||||||
|
get {
|
||||||
|
if formula.count < 3 {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
var calculatingFormula = formula
|
||||||
|
if ["+", "-", "×", "÷"].firstIndex(of: calculatingFormula.last!) != nil {
|
||||||
|
calculatingFormula.removeLast()
|
||||||
|
}
|
||||||
|
|
||||||
|
while true {
|
||||||
|
let indexOfMultiplication = calculatingFormula.firstIndex(of: "×")
|
||||||
|
let indexOfDivision = calculatingFormula.firstIndex(of: "÷")
|
||||||
|
|
||||||
|
if indexOfMultiplication == nil && indexOfDivision == 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 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print(calculatingFormula)
|
||||||
|
return calculatingFormula[0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func click(_ text: String) {
|
func click(_ text: String) {
|
||||||
switch text {
|
switch text {
|
||||||
|
|||||||
Reference in New Issue
Block a user