+, -, *, /, % 연산을 수행할 수 있는 Calculator 클래스를 만들고, 연산을 진행하고 출력하기
Case 1 : if else 사용
- if else는 모든 조건을 다 비교한 후에 적합한 조건을 출력
package com.example.calculator_final
fun main() {
println("연산 할 숫자를 입력하세요.")
val num1 = readLine()!!.toInt()
println("연산 할 숫자를 입력하세요.")
val num2 = readLine()!!.toInt()
println("[1] 덧셈, [2] 뺄셈, [3] 곱셈, [4] 나눗셈, [5] 나머지, [6] 종료")
val selectNumber = readLine()!!.toInt()
if (selectNumber==1) {
println(num1 + num2)
}
else if(selectNumber==2) {
println(num1 - num2)
}
else if(selectNumber==3) {
println(num1 * num2)
}
else if(selectNumber==4) {
println(num1 / num2)
}
else if(selectNumber==5){
println(num1 % num2)
}
else{
println("종료하겠습니다.")
}
}
Case 2 : when else 사용
package com.example.calculator_final
fun main () {
println("연산 할 숫자를 입력하세요.")
val num3 = readLine()!!.toInt()
println("연산 할 숫자를 입력하세요.")
val num4 = readLine()!!.toInt()
println("[1] 덧셈, [2] 뺄셈, [3] 곱셈, [4] 나눗셈, [5] 나머지, [6] 종료")
val selectNumber2 = readLine()!!.toInt()
val plusResult = num3 + num4
val minusResult = num3 - num4
val multipleResult = num3 * num4
val divideResult = num3 / num4
val modResult = num3 % num4
when(selectNumber2) {
1 -> println(plusResult)
2 -> println(minusResult)
3 -> println(multipleResult)
4 -> println(divideResult)
5 -> println(modResult)
6 -> println("종료합니다.")
}
}
Case 3 : Class 생성
- Calculator class 생성하여 각 연산자를 메서드로 구현
※ 하나의 class가 너무 많은 기능을 담당하게 되는 문제점 발생
package com.example.calculator_final
fun main () {
println("연산 할 숫자를 입력하세요.")
val num5 = readLine()!!.toInt()
println("연산 할 숫자를 입력하세요.")
val num6 = readLine()!!.toInt()
println("[1] 덧셈, [2] 뺄셈, [3] 곱셈, [4] 나눗셈, [5] 나머지, [6] 종료")
val cal = Calc()
when(readLine()!!.toInt()) {
1 -> cal.add(num5, num6)
2 -> cal.minus(num5, num6)
3 -> cal.multiply(num5, num6)
4 -> cal.division(num5, num6)
5 -> cal.modulo(num5, num6)
6 -> println("종료하겠습니다.")
}
}
class Calc() {
fun add(num5: Int, num6: Int) {
val resultAdd = num5 + num6
println("덧셈 결과 $resultAdd 입니다.")
}
fun minus(num5: Int, num6: Int) {
val resultMinus = num5 - num6
println("뺄셈 결과 $resultMinus 입니다.")
}
fun multiply(num5: Int, num6: Int) {
val resultMultiply = num5 * num6
println("곱셈 결과 $resultMultiply 입니다.")
}
fun division(num5: Int, num6: Int) {
val resultDivision = num5 / num6
if (num5 == 0) {
println("0으로 나눌 수 없습니다.")
}
else println("나눗셈 결과 $resultDivision 입니다.")
}
fun modulo(num5: Int, num6: Int) {
val resultModulo = num5 % num6
println("나머지 결과 $resultModulo 입니다.")
}
}