[Kotlin 문법 기초] 과제 - 계산기 Lv1.

0
post-thumbnail

🍥구현 기능

  • 더하기, 빼기, 나누기, 곱하기 연산을 수행할 수 있는 Calculator 클래스를 만들기
  • 클래스를 이용하여 연산을 진행하고 출력하기

🍥구현하기

Calculator 클래스

class Calculator {
    var a:Double = 0.0
    var op:Char = ' '
    var b:Double = 0.0

    init{
        println("계산기가 생성되었습니다.")
    }

    fun add() = println("= ${a+b}")
    fun sub()= println("= ${a-b}")
    fun div(){
        if(b == 0.0) println("error! 0.0으로 나눌 수 없습니다.")
        else println("= ${a/b}")
    }
    fun mul() = println("= ${a*b}")

    fun calculate(input: String){
        if(input == ""){
            println("error! 연산식이 입력되지 않았습니다.")
            return
        }

        for(i in 0 until input.length){
            if(input[i] == '+'|| input[i] == '-'|| input[i] == '/'|| input[i] == '*'){
                a = input.substring(0, i).toDouble()
                op = input[i]
                b = input.substring(i+1).toDouble()
                break;
            }
        }

        when(op){
            ' ' -> println("error! 연산자가 입력되지 않았습니다.")
            '+' -> add()
            '-' -> sub()
            '/' -> div()
            '*' -> mul()
            else -> println("error! 유효한 연산자가 아닙니다.")
        }
    }
}

My_Calculator.kt

fun main() {
    val calculator1 = Calculator()

    var input:String = ""
    while(input != "q"){
        println("계산할 수식을 입력하세요. (종료: q)")
        input = readLine() ?: ""
        calculator1.calculate(input)
    }
    println("계산기가 종료되었습니다.")
}

🍥구현 결과

계산기가 생성되었습니다.
계산할 수식을 입력하세요. (종료: q)

error! 연산식이 입력되지 않았습니다.
계산할 수식을 입력하세요. (종료: q)
3.3 + 1.1
= 4.4
계산할 수식을 입력하세요. (종료: q)
3.3 - 1.1
= 2.1999999999999997
계산할 수식을 입력하세요. (종료: q)
3.3 / 1.1
= 2.9999999999999996
계산할 수식을 입력하세요. (종료: q)
3.3 / 0.0
error! 0.0으로 나눌 수 없습니다.
계산할 수식을 입력하세요. (종료: q)
3.3 * 1.1
= 3.63
계산할 수식을 입력하세요. (종료: q)
q
= 3.63
계산기가 종료되었습니다.
profile
Be able to be vulnerable, in search of truth

0개의 댓글