본문 바로가기

Android (Kotlin)/mini projects13

[Calculator] 계산기 만들기 lv.4 Lv4 : AddOperation(더하기), SubtractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 연산 클래스들을 AbstractOperation라는 클래스명으로 만들어 사용하여 추상화하고 Calculator 클래스의 내부 코드를 변경합니다. Lv3 와 비교해서 어떠한 점이 개선 되었는지 스스로 생각해 봅니다. hint. 클래스간의 결합도, 의존성(의존성역전원칙) lv3를 하면서 상속이랑 클래스 개념을 제대로 익혀서 그런지 상대적으로 시간이 덜 걸렸다. 간단한 추상 클래스 예제를 정독하고 문제를 풀어줬다! 아래 링크 예제 정독만 하면 바로 풀 수 있다 !! https://velog.io/@k906506/Kotlin-%EC%B6%94%EC.. 2023. 11. 30.
[Calculator] 계산기 만들기 lv.3 Lv3 : AddOperation(더하기), SubstractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 연산 클래스를을 만든 후 클래스간의 관계를 고려하여 Calculator 클래스와 관계를 맺기 관계를 맺은 후 필요하다면 Calculator 클래스의 내부코드를 변경하기 나머지 연산자(%) 기능은 제외합니다. Lv2 와 비교하여 어떠한 점이 개선 되었는지 스스로 생각해 봅니다. hint. 클래스의 책임(단일책임원칙) 따로 뺀 클래스 안에 함수 만들 생각을 안해서 시간을 엄청 썼다. 그리고 부모 자식 상속 클래스 쓰려고 애먹었는데 필요 없었음... 대신에 상속 어떻게 사용하는지 제대로 공부한거 같다. 클래스가 여러개 있을 때 해야하는 스텝 정.. 2023. 11. 30.
[Calculator] 계산기 만들기 lv.2.1 인풋에 문제가 있었었는데 숫자 연산자를 따로 입력 받는 방식으로 바꾸니 간단해졌다! 수정한 부분 toCharArray.digitToInt().toDouble()을 이용해서 문자열을 수정했었는데 바로 .toDouble()로 수정할 수 있다는 사실을 배웠다. 인풋 간단히 바꾸었다! package com.example.mycalculator // Level 2 // Lv1에서 만든 Calculator 클래스에 출력 이후 추가 연산을 가능하도록 코드를 추가하고, 연산 진행 후 출력하기 fun main(){ print("숫자를 입력하세요 : ") var number1 = readLine()!!.toDouble() print("연산자를 입력하세요 : ") var operator = readLine()!! print.. 2023. 11. 30.
[Calculator] 계산기 만들기 lv.2.0 Lv2 : Lv1에서 만든 Calculator 클래스에 출력 이후 추가 연산을 가능하도록 코드를 추가하고, 연산 진행 후 출력하기 으쌰으쌰하면서 코드를 작성했는데 마지막에 엄청난 실수를 발견하고 말았다.. 1. 초반에 코드를 작성했을 때 0번째 2번째 4번째 등등 짝수번째 인덱스에는 숫자가 들어가고 홀수번째 인덱스에는 연산자가 들어갈 것이라고 가정하고 문제 풀이를 했다. 문제는 숫자의 자릿수가 2개 이상일 수도있다는걸 간과했다.. 하핳 전에 알고리즘 문제를 풀면서 map을 이용해서 숫자랑 문자열을 분리하여 저장하는 코드를 본 적이 있는거 같은데 내일 한번 찾아봐야겠다.. 그래도.. 한자릿수 연산 한정 작동하는 코드이다 .. !! 2. 추가 계산 부분을 메소드로 만들어서 빼보려고 했지만 어딘가 잘못 됐다... 2023. 11. 29.