How to create a fixed size IntArray and initializing the array later in Kotlin?

You need to escape the static field in of System class with backtick (`), since in is a keyword in Kotlin. for example:

val ob = Scanner(System.`in`)

You can create a fixed size int[] array without initializing it immediately in Kotlin, then the default value of the elements in array are 0. for example:

val arr = IntArray(5) // create IntArray via constructor

There is a bit different for using for-loop in Kotlin, for example:

for(i in 0 until arr.size){
    arr[i] = ob.nextInt();
}

OR initializing an int[] array during creation, for example:

val arr = IntArray(5){ ob.nextInt() }

Arrays have fixed sizes. When creating an array, you will have to declare it's size during initialization.

val arr: IntArray = intArrayOf(1, 2, 3)

or

val arr = arrayOf(1, 2, 3)

or

val arr = Array (3){it}

If you want to create a collection that you can dynamically add values to, then you can create a mutable list.

val list = mutableListOf<Int>()
list.add(1)
list.add(2)
list.add(3)