Bra*_*dds 5 arrays variables initialization arraylist kotlin
我在kotlin中制作一个haiku生成器但是我在这个代码块上得到一个奇怪的'变量firstLineArray必须初始化'.
import java.util.Random
fun oneSyllableWords() : String{
val oneSyllableWordArray = arrayOf("Life", "Love", "One", "On", "No", "Go")
val random = Random()
val randint = random.nextInt(oneSyllableWordArray.size)
return oneSyllableWordArray[randint]
}
fun main(args:Array<String>){
var firstLineArray : Array<String>
var syllablesRemaining = 5
while(syllablesRemaining<0) {
val random = Random()
val randint = random.nextInt(4) + 1
for (i in 0..4){
if(randint == 1){
firstLineArray[i] = oneSyllableWords()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
您必须使用值初始化变量.数组是固定大小的容器,如果我在这里需要一个长度为5的数组,你可以使用下面的代码来创建5个空字符串作为开头:
var firstLineArray: Array<String> = Array(5) { "" }
Run Code Online (Sandbox Code Playgroud)
或者如果您在从数组中读取时Array<String?>
必须处理可能的null
值,那么您可以:
var firstLineArray: Array<String?> = arrayOfNulls(5)
Run Code Online (Sandbox Code Playgroud)
你忘记初始化数组:
方法:
var firstLineArray = Array<String>()
Run Code Online (Sandbox Code Playgroud)
或者
var firstLineArray = Array (0, { i -> "" })
Run Code Online (Sandbox Code Playgroud)
或者
var firstLineArray = emptyArray<String>()
Run Code Online (Sandbox Code Playgroud)