본문 바로가기

계산기 만들기3

[Calculator] 계산기 만들기 lv4.1 수정한 부분 추상클래스의 주생성자를 이용해야한다는 피드백을 받았다. 추상클래스에 주생성자를 추가하긴 했지만 그 안에 추상 함수에 매개변수를 또 작성해서 장황하게 코드를 작성했었다. 또 전 코드에서는 추상클래스를 통해서 메인 함수에 추상함수를 불러오는게 아닌 추상함수를 바로 호출했었다. 추상클래스를 사용하면서 단일책임원칙을 지키지 않았던 것 같다. 지난번에 마무리하면서 메인 함수 내부에 들어가는 코드가 조금 아쉽다는 생각이 계속 들었었는데 이번에 제대로 수정한 것 같다. 장황하게 적혀져있던 메개 변수들도 전부 지울 수 있어서 코드가 매우 깔끔해졌다. package com.example.mycalculator //- Lv4 : AddOperation(더하기), SubtractOperation(빼기), Mul.. 2023. 12. 4.
[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.1 Lv1 : 더하기, 빼기, 나누기, 곱하기 연산 수행하기 처음으로 람다식을 이용하여 작성해보았다. number1과 number 2라는 숫자가 순서대로 주어지고 operator 즉 연산자를 문자열로 주어졌다고 가정하고 시작하였다. 클래스 안에 함수를 생성하였고 변수로 앞서 가정해 놓았던 자료형을 넣었다. 연산자가 바뀜에 따라 리턴값이 바뀌도록 하였고 나눗셈 때문에 리턴값이 실수형이여야 하기 때문에 마지막에 answer를 실수형으로 바꾸어주었다. package com.example.mycalculator // Level 1 class Calculator { var number1 = 4 var operator = "*" var number2 = 3 fun main(number1: Int, operator: S.. 2023. 11. 28.