2023. 12. 10. 15:04ㆍ스파르타/개발일지
안녕하세요 !
5번째 개발일지 시작합니다 .
https://school.programmers.co.kr/learn/challenges/beginner?order=acceptance_desc
오전 1시간 코딩테스트 시간 수행 완료 !
[프로그래머스] 자릿수 더하기 문제 풀이
[프로그래머스] 약수의 합 문제 풀이
[프로그래머스] 나머지가 1이 되는 수 찾기 문제 풀이
[프로그래머스] x 만큼 간격이 있는 n개의 숫자 문제 풀이
다시 돌아온 계산기 과제
배운 Kotlin 기초 문법을 가지고 수행해보겠습니다 !
https://mary-coding.tistory.com/6
12월 7일 개발일지에서는 Calculator 라는 클래스를 만들었다.
//Calculator 라는 클래스를 정의함
class Calculator {
//클래스 내에 선언된 Calculator 라는 메소드를 정의하며 3개의 파라미터를 받음 string으로 메소드를 반환하며 계산 결과를 문자열로 나타냄
fun calculate(num1: Double, num2: Double, operator: Char): String {
// 조건에 따라서 동작을 수행하도록 함
return when (operator) {
'+' -> (num1 + num2).toString()
'-' -> (num1 - num2).toString()
'*' -> (num1 * num2).toString()
// num1 과 num2 를 나눈 결과를 실수로 변환한 후 문자열로 반환함
'/' -> (num1.toDouble() / num2.toDouble()).toString()
// 제시한 연산자 외에 다른 값을 입력 받았을 시에 해당 메세지를 문자열로 반환함
else -> "다시 입력해주세요."
}
}
}
Caculator 라는 클래스에 정의된 caculator 라는 메소드가 실제 연산이 가능하도록 한다.
caculator 라는 메소드는 3 개의 파라미터를 받는다.
첫번째 숫자 num1, 두번째 숫자 num2, 연산자 operator
when이라는 식을 사용하여 연산을 수행할 수 있도록 하며, 결과는 문자열로 반환된다.
else 부분이 문자열로 출력되기 때문에 String 을 썼다.
이 부분은 Double 로 수정하고 else 부분을 println으로 한 번 고쳐보려고 했지만 시간 관계상,,,
fun main() {
// readLine() 함수를 사용해 외부에서 입력한 값을 toDouble() 함수를 사용해 실수로 변환함
// '!!' 이라는 연산자는 null 이 절대 될 수 없다고 단언하는 연산자
println("첫 번째 숫자를 입력하세요: ")
var num1 = readLine()!!.toDouble()
println("두 번째 숫자를 입력하세요: ")
var num2 = readLine()!!.toDouble()
println("사용할 연산자를 입력하세요 (+, -, *, /): ")
// single() 함수를 사용해서 입력한 문자열의 첫번째 문자를 추출함
var operator = readLine()!!.single()
// Calculator 클래스의 인스턴스 생성
val calculator = Calculator()
val result = calculator.calculate(num1, num2, operator)
println("계산이 완료되었습니다: $result")
}
main 함수에서는 사용자로부터 두 개의 숫자와 연산자를 입력받고
결과는 문자열로 출력받는다.
여기까지는 구현했으나 아직 lv 2부터는 시작조차 못했다.
우선 순위를 정해서 다시 시작해야지..!
1. Kotlin 기초 문법 3주~5주차 강의 재수강하기
2. 티스토리에 배운 내용 정리하기
3. git 특강, TIL 특강 수강하기
4. 계산기 만들기 수강하기
5. 시간 남으면 알고리즘 코드카타 풀이하기
나는 할 수 있다
파이팅 ......!!!!!!
'스파르타 > 개발일지' 카테고리의 다른 글
개발일지 12월 12일 (0) | 2023.12.13 |
---|---|
개발일지 12월 11일 (0) | 2023.12.11 |
개발일지 12월 7일 (1) | 2023.12.07 |
개발일지 12월 6일 (0) | 2023.12.06 |
개발일지 12월 5일 (1) | 2023.12.06 |