2017-07-15 22 views
3

我只是在kotlin的初學者水平。 我沒有辦法給kotlin中的數組添加值。 我想從用戶獲取值並將它們添加到數組中。如何在Kotlin中創建一個固定大小的IntArray並初始化數組?

val arr = arrayOf<Int>() 

var arr = intArrayOf() 

像Java中,

Scanner ob=new Scanner(System.in); 
int arr[]=new int[5]; 
for(int i=0;i<arr.length;i++) 
{ 
arr[i]=ob.nextInt(); 
} 

如何執行科特林一樣嗎?

+1

[在科特林列表和數組類型之間的差異(https://stackoverflow.com/questions/36262305/difference-between-list-and-array-types-in-kotlin) –

+0

的可能的複製@ MichaelEaster我想說的是沒有重複。 –

回答

3

您需要escape靜電場System類反引號(`)的in,因爲in在科特林關鍵字。例如:

val ob = Scanner(System.`in`) 

可以創建一個固定大小int[]陣列而不科特林立即對其進行初始化,然後在數組中的元素的默認值是0。例如:

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

有用於科特林使用for-loop有點不同的,例如:

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

OR初始化創建期間的int[]陣列,例如:

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

數組有固定大小。創建一個數組時,你必須在初始化時聲明它的大小。

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

val arr = arrayOf(1, 2, 3) 

val arr = Array (3){it} 

如果你想創建一個集合,您可以動態地添加值,那麼你可以創建一個可變的列表。

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

嗨,OP想要一個'int []',但你給他一個'Integer []'。如果是,那麼問題如上所述重複,:)。 –

相關問題