arraylist.clear() 요소 전체 삭제
arraylist.removeAt() 특정 인덱스 삭제
arraylist.add() 요소 추가
키오스크 넣을 기능
LEVEL4 ->4주차 강의
- 문자입력 시 예외처리
- 결제 -> 장바구니의 주문 항목과 연결 displaycart() -> order() -> pay()
- 현재 잔액과 가격 비교
- 주문할 때 장바구니가 비어 있으면 : 주문할 상품이 없습니다.
- 잔액 클래스 추가?
LEVEL5 ->5주차 강의
- 특정 작업이 종료된 후 3초 뒤에 다른 작업을 수행할 수 있도록
fun main(args: Array<String>) {
println("메인쓰레드 시작")
var job = GlobalScope.launch {
delay(3000)
println("여기는 코루틴...")
}
runBlocking {
job.join()
}
println("메인쓰레드 종료")
}
장바구니 목록을 초기화하는 부분에 3초의 딜레이를 넣어봤다.
- 결제시 현재 시간을 비교하여 특정 시간대에는 결제할 수 없다는 알림창을 띄워줘요
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"))
//현재 시간
var nowTime = LocalDateTime.now().toLocalTime()
//비교할 시간 범위 오후 11시 30분 ~ 오후 11시 59분
var startTime = LocalTime.of(23, 30) //LocalTime : java.time 패키지 클래스
var endTime = LocalTime.of(23, 59)
//isAfter 와 isBefore 을 이용해서 현재시간과 제한시간 비교
if (nowTime.isAfter(startTime) && nowTime.isBefore(endTime)) {
println("오후 11시 30분 부터 오후 11시 30분까지 은행 점검시간으로 결제가 제한됩니다.")
showMenu()
}
- 프로그램을 종료할때까지 5초마다 현재 주문 대기수를 실시간으로 출력해줘요 코루틴
main 제일 처음에 스레드를 집어 넣어서 주문 내내 주문 대기 수가 뜨도록 만들었다.
- 결제 완료 시각 띄워주기
println("결제가 완료되었습니다:-)")
println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm"))) //현재날짜시간 포맷
println("현재 잔액은 ${paycash - total}원 입니다.")
월의 경우 대문자로 입력하는 것 잊지말기
예외처리
숫자를 요구하는 곳에 문자를 입력받아 발생한 에러
처음 try/ catch 를 사용할 때 변수 choice 를 while 안에서 선언했더니 그 뒤 when 구문에서 choice 에 접근할 수 없었다.
그러나 while 밖에서 선언한 후 블록 안에서 할당했더니 when 구문에서 choice 에 접근할 수 있게 되었다.
블록 내부에서 선언된 변수를 해당 블록 내에서만 유효하다.
자료형 변환
Integer.parseInt()
스레드 사용
https://github.com/Kotlin/kotlinx.coroutines#android
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0-RC")
}
'왕초보일지' 카테고리의 다른 글
231214 TIL (0) | 2023.12.14 |
---|---|
231213 TIL 해시코드출력현상/싱글턴 (0) | 2023.12.13 |
계산기 해봐야 할 것 (0) | 2023.12.11 |
231211 TIL (0) | 2023.12.11 |
231208 TIL (1) | 2023.12.08 |