오늘 하루의 느낀점

230719 Today I Learned!

조예_ 2023. 7. 20. 00:15

Kotlin Code Calculrator

지금까지 배운 Kotlin문법을 응용해서 나만의 계산기를 만들어보자.

 

 


 

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

 

 

어떤식으로 접근을 할지..모르는 찰나.. 힌트를 보고도 어떻게 접근을 해야 할지 고민이 앞섰다 ㅜㅜ..

 

하나씩 써보고 에러면 뭐가 문제인지 찾고 공부한 내용도 찾다보니 1단계는 금방 해결할 수 있었다!

 

package com.example.layout

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

fun main() {

    println("계산기 ON")
    println("첫번째 숫자를 입력해 주세요")
    val a = readLine()!!.toInt()

    println("수식을 입력해 주세요")
    val operator = readLine()!!.toString()

    println("두번째 숫자를 입력해 주세요")
    val b = readLine()!!.toInt()

    Calculator1(a, operator, b).operator()

    println("계산기 OFF")

}

class Calculator1(val num1: Int, val operator1: String, val num2: Int) {

    fun operator() {

        when (operator1) {
            "+" -> {
                println("$num1 + $num2 = ${num1 + num2} 입니다.")
            }

            "-" -> {
                println("$num1 - $num2 = ${num1 - num2} 입니다.")
            }

            "*" -> {
                println("$num1 * $num2 = ${num1 * num2} 입니다.")
            }

            "/" -> {
                println("$num1 / $num2 의 몫은 ${num1 / num2} 입니다.")
            }

            else -> {
                println("수식이 잘못 입력 되었습니다")
            }
        }

    }

}

 


Lv2 : Lv1에서 만든 Calculator 클래스에 나머지 연산을 가능하도록 코드를 추가하고, 연산 진행 후 출력하기

 

전이랑 별 차이가 없어서 코드 간격?수정 하고 했당

 

package com.example.layout

//Lv2 : Lv1에서 만든 Calculator 클래스에 나머지 연산을 가능하도록 코드를 추가하고, 연산 진행 후 출력하기
fun main() {

    println("계산기 ON")
    println("첫번째 숫자를 입력해 주세요")
    val a = readLine()!!.toInt()

    println("수식을 입력해 주세요")
    val operator = readLine()!!.toString()

    println("두번째 숫자를 입력해 주세요")
    val b = readLine()!!.toInt()

    Calculator2(a, operator, b).operator()

    println("계산기 OFF")


}

class Calculator2(val num1: Int, val operator1: String, val num2: Int) {

    fun operator() {

        when (operator1) {
            "+" -> {
                println("$num1 + $num2 = ${num1 + num2} 입니다.")
            }

            "-" -> {
                println("$num1 - $num2 = ${num1 - num2} 입니다.")
            }

            "*" -> {
                println("$num1 * $num2 = ${num1 * num2} 입니다.")
            }

            "/" -> {
                println("$num1 / $num2 의 몫은 ${num1 / num2} 입니다.")
            }

            "%" -> {
                println("$num1 / $num2 의 나머지는 ${num1 % num2} 입니다.")
            }

            else -> {
                println("수식이 잘못 입력 되었습니다")
            }

        }

    }

}