把按下的按鍵顯示出來

This commit is contained in:
2020-05-06 03:42:18 +08:00
parent 59a4311883
commit 8e0c683bf8
2 changed files with 39 additions and 10 deletions

View File

@@ -9,43 +9,56 @@
import Foundation import Foundation
class Calculator { class Calculator {
var formula: String = ""
var result: String = ""
func clickNumber(_ number: Int) { func clickNumber(_ number: Int) {
print(number) formula += String(number)
result += String(number)
} }
func clickDot() { func clickDot() {
print(".") formula += "."
result += "."
} }
func clickEquation() { func clickEquation() {
print("=") formula += "="
result += "="
} }
func clickPlus() { func clickPlus() {
print("+") formula += "+"
result += "+"
} }
func clickMinus() { func clickMinus() {
print("-") formula += "-"
result += "-"
} }
func clickMultiplication() { func clickMultiplication() {
print("*") formula += "*"
result += "*"
} }
func clickDivision() { func clickDivision() {
print("/") formula += "/"
result += "/"
} }
func clickPercent() { func clickPercent() {
print("%") formula += "%"
result += "%"
} }
func clickInversion() { func clickInversion() {
print("+/-") formula += "+/-"
result += "+/-"
} }
func clickAllClear() { func clickAllClear() {
print("AC") formula = ""
result = ""
} }
} }

View File

@@ -20,42 +20,57 @@ class ViewController: UIViewController {
@IBAction func clickNumberButton(_ sender: UIButton) { @IBAction func clickNumberButton(_ sender: UIButton) {
let number = numberButtons.firstIndex(of: sender)! let number = numberButtons.firstIndex(of: sender)!
calculator.clickNumber(number) calculator.clickNumber(number)
updateFormulaAndResult()
} }
@IBAction func clickDotButton(_ sender: UIButton) { @IBAction func clickDotButton(_ sender: UIButton) {
calculator.clickDot() calculator.clickDot()
updateFormulaAndResult()
} }
@IBAction func clickEquationButton(_ sender: UIButton) { @IBAction func clickEquationButton(_ sender: UIButton) {
calculator.clickEquation() calculator.clickEquation()
updateFormulaAndResult()
} }
@IBAction func clickPlusButton(_ sender: UIButton) { @IBAction func clickPlusButton(_ sender: UIButton) {
calculator.clickPlus() calculator.clickPlus()
updateFormulaAndResult()
} }
@IBAction func clickMinusButton(_ sender: UIButton) { @IBAction func clickMinusButton(_ sender: UIButton) {
calculator.clickMinus() calculator.clickMinus()
updateFormulaAndResult()
} }
@IBAction func clickMultiplicationButton(_ sender: UIButton) { @IBAction func clickMultiplicationButton(_ sender: UIButton) {
calculator.clickMultiplication() calculator.clickMultiplication()
updateFormulaAndResult()
} }
@IBAction func clickDivisionButton(_ sender: UIButton) { @IBAction func clickDivisionButton(_ sender: UIButton) {
calculator.clickDivision() calculator.clickDivision()
updateFormulaAndResult()
} }
@IBAction func clickPercentButton(_ sender: UIButton) { @IBAction func clickPercentButton(_ sender: UIButton) {
calculator.clickPercent() calculator.clickPercent()
updateFormulaAndResult()
} }
@IBAction func clickInversionButton(_ sender: UIButton) { @IBAction func clickInversionButton(_ sender: UIButton) {
calculator.clickInversion() calculator.clickInversion()
updateFormulaAndResult()
} }
@IBAction func clickAllClearButton(_ sender: UIButton) { @IBAction func clickAllClearButton(_ sender: UIButton) {
calculator.clickAllClear() calculator.clickAllClear()
updateFormulaAndResult()
}
func updateFormulaAndResult() {
formulaLabel.text = calculator.formula
resultLabel.text = calculator.result
} }
override func viewDidLoad() { override func viewDidLoad() {
@@ -63,6 +78,7 @@ class ViewController: UIViewController {
// Do any additional setup after loading the view. // Do any additional setup after loading the view.
borderView.layer.borderWidth = 1 borderView.layer.borderWidth = 1
borderView.layer.borderColor = #colorLiteral(red: 0.8374180198, green: 0.8374378085, blue: 0.8374271393, alpha: 1) borderView.layer.borderColor = #colorLiteral(red: 0.8374180198, green: 0.8374378085, blue: 0.8374271393, alpha: 1)
updateFormulaAndResult()
} }