[내배캠 Android 4기] TIL 0608

오리너구리·2024년 6월 8일
0

TIL

목록 보기
28/48
post-thumbnail

TIL 0608

오늘 할일

  • 코드카타 32번
  • Layout 자료 제작

코드카타 32번

https://velog.io/@orinugoori_art/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-CODEKATA-32-%EB%82%B4%EC%A0%81-3gn6xqre


Layout 자료 제작

이번주에 공부 했던 Layout에 대한 복습 겸 인스타와 Velog 에 개시할 자료를 만들었다

평일에도 만들려고했는데 평일에는 과제 하느라 바빠서 시간이 없으니까

주말에 여유롭게 개인 공부할 때 만들게되는것 같다.

이제 게시물 3개됐당~ 썸네일 맞춰나서 마음이 아주 편안

오늘은 FrameLayout 에 대한 걸 정리해서 올렸는데,

만들 수록 어려운 것같다

10 장안에 중요한 내용을 다 포함시키기도 어렵고,

이미지로 글씨를 최대한 적게 해서

그림만 보고도 이해가도록 만들고 싶은데 그게 쉽지 않당

그래도 하다보면 노하우가 생기겠지용~~~


계산기 만들기 과제 (콘솔ver)

나는 이번주 과제 계산기 만들기를 앱버전으로 만들었는데

다 만들고나서 콘솔로 제작하신 분들의 과제도 봤는데 콘솔로도 만들어봐야할 것 같아서

주말동안 혼자 만들어 볼 예정!

일단 Lv 1부터 차근차근 구현할 거다.

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

  • Lv 1 전체 코드
    
    fun main(){
    
        println("---오리너구리가 만든 계산기---")
    
        println("첫번째 숫자를 입력해라")
        val num1 = readLine()!!.toInt()
    
        println("연산자를 입력해라")
        val operator = readLine()!!
    
        println("두번째 숫자를 입력해라")
        val num2 = readLine()!!.toInt()
    
        if("+-*/".contains(operator)){
            calculate(num1,num2,operator)
            displayInfo(num1,num2,operator,answer)
        }else {
            println("잘못된 연산자입니다")
        }
    }
    
    fun displayInfo(num1: Int, num2: Int, operator: String, answer : Int){
        println("-------계산 결과-------")
        println("당신이 입력한 식 : $num1 $operator $num2")
        println("답 : $answer")
    }
    
    var answer : Int = 0
    val calculator = Calculator()
    
    fun calculate(num1: Int, num2: Int, operator: String) : Int {
    
        for (i in operator) {
            answer = when (operator) {
                "+" -> calculator.add(num1, num2)
                "-" -> calculator.substract(num1, num2)
                "*" -> calculator.multiply(num1, num2)
                "/" -> calculator.divide(num1, num2)
                else -> -1
            }
        }
        return answer
    }
    
    class Calculator() {
        fun add (num1 : Int , num2 : Int) = num1 + num2
    
        fun substract (num1 : Int, num2 : Int) = num1 - num2
    
        fun multiply (num1 : Int , num2 : Int ) = num1 * num2
    
        fun divide (num1 : Int , num2 : Int) = num1 / num2
    }
  1. Calculator 클래스를 생성하고 각 연산을 수행할 함수를 생성
class Calculator() {
    fun add (num1 : Int , num2 : Int) = num1 + num2

    fun substract (num1 : Int, num2 : Int) = num1 - num2

    fun multiply (num1 : Int , num2 : Int ) = num1 * num2

    fun divide (num1 : Int , num2 : Int) = num1 / num2
}
  1. main 함수에 숫자와 연산자를 입력받는 코드를 작성
fun main(){

    println("---오리너구리가 만든 계산기---")

    println("첫번째 숫자를 입력해라")
    val num1 = readLine()!!.toInt()

    println("연산자를 입력해라")
    val operator = readLine()!!

    println("두번째 숫자를 입력해라")
    val num2 = readLine()!!.toInt()
  1. if 문을 사용해서 연산자 입력을 제대로 했다면 결과를 표시하고, 잘못된 연산자를 입력했다면 “잘못된 연산자입니다.” 를 출력하는 코드를 작성함
    if("+-*/".contains(operator)){
        calculate(num1,num2,operator)
        displayInfo(num1,num2,operator,answer)
    }else {
        println("잘못된 연산자입니다")
    }
}
  1. if 문 내에서 사용한 함수를 정의해줌
fun displayInfo(num1: Int, num2: Int, operator: String, answer : Int){
    println("-------계산 결과-------")
    println("당신이 입력한 식 : $num1 $operator $num2")
    println("답 : $answer")
}

var answer : Int = 0
val calculator = Calculator()

fun calculate(num1: Int, num2: Int, operator: String) : Int {

    for (i in operator) {
        answer = when (operator) {
            "+" -> calculator.add(num1, num2)
            "-" -> calculator.substract(num1, num2)
            "*" -> calculator.multiply(num1, num2)
            "/" -> calculator.divide(num1, num2)
            else -> -1
        }
    }
    return answer

흠 잘 작동한당

확실히 콘솔로 구현하니까 한번 앱으로 해본거기도하고

직관적인 느낌이라 편하다

안막히고 바로바로해냈음~~~


TMI

1.원래 콘솔계산기 오늘 Lv2까지 구현할 생각이였는데 엄마한테 오랜만에 카톡해서 코딩공부한다고 자랑하고 근황토크하느라 못했음 내일은 더 열심히 공부해야지

profile
오리너구리입니다

0개의 댓글