반응형

코틀린 배열(Array)

// 배열 선언

val array1 = arrayOfNulls<String>(100) // 길이가 100인 문자열 배열 생성 (각 인덱스 초기값 null)

val array2 = IntArray(10, {0}) // 길이가 10인 정수 배열 생성 (각 인덱스 초기값 0)

val array3 = arrayof("A", "B", "C") // 문자열 "A", "B" , "C"가 들어간 배열 생성


val array = arrayOfNulls<String>(100) // 모든 인덱스가 null로 초기화된 String 배열

array[0] = "Hellow" // array의 0번 인덱스에 "Hellow" 추가
array.set[1,"Wolrd"] // array의 1번 인덱스에 "World" 추가

코틀린 객체 배열

// 회원 정보가 담기 Member 클래스 생성
data class Member(val id : Int, val name : String, val age : Int, val gender : String)


// main() 메소드
fun main() {

    println("=== 프로그램 시작 ===")

	// 배열의 길이를 설정하기 위한 총 입력될 회원 수 설정
    print("회원 수 : ")
    
    // readLine()으로 입력을 받고 !!로 null값 허용, trim() 공백 제거, toInt()로 정수 변환
    val memberCount = readLine()!!.trim().toInt()
	
    
    println("${memberCount}명의 회원 정보를 입력합니다.")

	// Member 클래스가 들어갈 배열 생성 (배열 길이 : memberCount / 초기값 : null)
    val array = Array<Member?>(memberCount) { null }


	// 회원 수만큼 반복
    for (x in 0 until memberCount) {
		
        // x가 0에서 시작하므로 +1
        print("${x+1}번째 회원의 이름 : ")
        val name = readLine()!!.trim()
        
        print("${x+1}번째 회원의 나이 : ")
        val age = readLine()!!.trim().toInt()
        
        print("${x+1}번째 회원의 성별(M/W) : ")
        val gender = readLine()!!.trim()

		// member 객체를 생성하여 입력받은 자료를 저장
        val member = Member(x+1, name, age, gender)

		// 배열의 x번째 인덱스에 37번줄에서 생성한 member 객체를 입력
        array[x] = member
    }


	// 출력 부분
    println("=== 입력하신 회원 리스트 ===")
    println("번호  /  이름  /  나이  /  성별")
	
    
    for (x in 0 until memberCount) {
        println("${array[x]!!.id}    /  ${array[x]!!.name}  /  ${array[x]!!.age}   /  ${array[x]!!.gender}")
    }

    println("=== 프로그램 끝 ===")
}
반응형

+ Recent posts