TIL

230811 TIL

지겨이 2023. 8. 11. 19:23

.accountManager 모든 액티비티 접근 가능
.trim 공백제거


예외 처리

 

예외(Exception) 처리는 프로그램 실행 중에 발생하는 예상치 못한 상황을 다루는 프로그래밍 개념입니다. 예외 처리는 프로그램이 비정상적으로 종료되는 것을 방지하고, 오류 발생 시 사용자에게 적절한 메시지를 제공하여 시스템의 안정성과 신뢰성을 향상시키는 데 도움을 줍니다.

여기서 예외는 크게 두 가지 유형으로 나뉩니다:

Checked Exception (검사 예외): 컴파일러가 예외 처리 여부를 확인하는 예외입니다. 개발자는 예외 처리를 강제로 해주어야 합니다. 일반적으로 입출력 오류, 파일 입출력 등의 상황에서 발생합니다.

Unchecked Exception (비검사 예외): 컴파일러가 예외 처리 여부를 확인하지 않는 예외입니다. 주로 프로그래머의 실수로 발생하는 상황(널 포인터 참조, 배열 인덱스 범위 초과 등)에서 발생합니다.

Kotlin에서는 예외를 처리하기 위해 try, catch, finally 블록을 사용합니다. 아래는 Kotlin에서 예외 처리의 기본적인 형태입니다:

kotlin
Copy code
try {
    // 예외가 발생할 수 있는 코드
} catch (e: ExceptionType) {
    // 예외를 처리하는 코드
} finally {
    // 예외 발생 여부와 관계없이 항상 실행되는 코드
}

 

-------------------------------------

package com.example.signinactivity

fun main() {
    println("\n첫 번째 숫자를 입력해주세요.")
    var input1 = readLine()
    println("\n두 번째 숫자를 입력해주세요.")
    var input2 = readLine()

    var num1 = input1?.toInt()
    var num2 = input2?.toInt()

    while (true) {
        if (num1!! > num2!!) {
            println("첫 번째 숫자가 더 큽니다.")
            break
        } else if(num1!! < num2!!) {
            println("두 번째 숫자가 더 큽니다.")
            break
        } else {
            println("두 숫자가 같습니다.")
            break
        }
    }
}

---------------------------------------------------------
package com.example.signinactivity

fun main() {
    println("\n10000이하의 정수를 입력해주세요.")
    var input = readLine()
    var num = input?.toInt()
    var num0 = 10000 - num!!
    var num1 = (10000 - num!!) / 1000
    var num2 = ( (10000 - num!!) / 100 ) % 10
    var num3 = ( (10000 - num!!) / 10 ) % 10

    if(num!! > 10000) {
        println("잔액 부족입니다.")
    } else {

        println("거스름돈은 $num0 원입니다.")
        println("1000원 $num1 장")
        println("100원 $num2 개")
        println("10원 $num3 개")
    }
}

-----------------------------------------------------------

package com.example.signinactivity

fun main() {
    println("\n성적 5개를 입력해주세요.")
    var input1 = readLine()
    var input2 = readLine()
    var input3 = readLine()
    var input4 = readLine()
    var input5 = readLine()
    var avarage = (input1?.toInt()!! + input2?.toInt()!! + input3?.toInt()!! + input4?.toInt()!! + input5?.toInt()!!) / 5

            println("평균점수는 $avarage 점입니다.")



    }

-----------------------

package com.example.signinactivity

fun main() {
    var count = 0

    for (num1 in 1..100) {
        for (num2 in 1..100) {
            val sum = num1 + num2
            if (sum % 2 == 1) {
                count++
            }
        }
    }

    println("합이 홀수인 경우의수: $count")
}


------------------------