首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Kotlin中创建一个固定大小的IntArray并初始化数组?

问如何在Kotlin中创建一个固定大小的IntArray并初始化数组?
EN

Stack Overflow用户
提问于 2017-07-16 04:36:26
回答 2查看 14K关注 0票数 8

我想不出一种在Kotlin中给数组加值的方法。

我想从user获取值并将它们添加到数组中。

代码语言:javascript
复制
val arr = arrayOf<Int>()

或

代码语言:javascript
复制
var arr = intArrayOf()

在Java中,我会这样做:

代码语言:javascript
复制
Scanner ob = new Scanner(System.in);
int arr[] = new int[5];
for (int i = 0; i < arr.length; i++) {
   arr[i]=ob.nextInt();
}

我如何在Kotlin中做同样的事情?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-16 04:51:23

您需要在System类的静态字段in中使用反引号(`),因为in在Kotlin中是一个关键字。例如:

代码语言:javascript
复制
val ob = Scanner(System.`in`)

您可以在Kotlin中创建一个固定大小的int[]数组,而无需立即对其进行初始化,则数组中的元素的默认值为0。例如:

代码语言:javascript
复制
val arr = IntArray(5) // create IntArray via constructor

在Kotlin中使用for-loop有一点不同,例如:

代码语言:javascript
复制
for(i in 0 until arr.size){
    arr[i] = ob.nextInt();
}

或在创建过程中初始化int[]数组,例如:

代码语言:javascript
复制
val arr = IntArray(5){ ob.nextInt() }
票数 9
EN

Stack Overflow用户

发布于 2017-07-16 05:51:20

数组的大小是固定的。创建数组时,必须在初始化时声明数组的大小。

代码语言:javascript
复制
val arr: IntArray = intArrayOf(1, 2, 3)

或

代码语言:javascript
复制
val arr = arrayOf(1, 2, 3)

或

代码语言:javascript
复制
val arr = Array (3){it}

如果您想创建一个可以动态添加值的集合,那么您可以创建一个可变列表。

代码语言:javascript
复制
val list = mutableListOf<Int>()
list.add(1)
list.add(2)
list.add(3)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45122521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档