小编EMa*_*ual的帖子

如何在 Kotlin 中创建可变的字母表?

我想创建一个MutableList字母表AZ但到目前为止,我只能将以下方法视为最短的方法,而无需编写每个字母表。

fun main()
{
    var alphabets: MutableList<Char> = mutableListOf()

    for (a in 'A'..'Z')
    {
        alphabets.add(a)
    }
    print(alphabets)
}
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有任何 Lambda 实现或更短的方法?

kotlin

5
推荐指数
1
解决办法
380
查看次数

如何在 Kotlin 中打乱可变列表的元素?

我想创建一个MutableList字母表,然后将它们洗牌并将其存储在另一个MutableList.

我使用了shuffle()函数,但它导致原始列表也被打乱,我不想发生这种情况,因为我将使用原始列表将它与新的打乱列表映射。

fun main(){

    val alphabets = ('A'..'Z').toMutableList()
    
    var shuffAlp = alphabets
    shuffAlp.shuffle()

    println(alphabets)
    println(shuffAlp)
}
Run Code Online (Sandbox Code Playgroud)

所以我不得不创建两个可变列表,然后对其中一个进行洗牌

val alphabets = ('A'..'Z').toMutableList()
var shuffAlp = ('A'..'Z').toMutableList()
shuffAlp.shuffle()
Run Code Online (Sandbox Code Playgroud)

这可能是一个微不足道的问题,但是有没有其他方法可以让我不必创建两个相同的列表?

kotlin

4
推荐指数
1
解决办法
755
查看次数

Kotlin - 如何创建动态矩阵?

我想创建一个大小矩阵,nxn其中 n 是 input 的长度message:String。到目前为止,这是我想到的唯一解决方案,它也有四个 for 循环。

fun main(){
println("Enter the message:")
var message:String = readLine().toString()
var cipher = Array(message.length) { Array<Int>(message.length) {0} }
for(i in 0 .. (message.length - 1)){
    for(j in 0 .. (message.length - 1)){
        cipher[i][j] = readLine()!!.toInt()
    }
}
//print the matrix
for(i in 0..(message.length -1)){
    for(j in 0..(message.length -1)){
        print(cipher[i][j])
    }
    println()
   }
}
Run Code Online (Sandbox Code Playgroud)

有没有更简单的代码?如何改进此代码?

kotlin

3
推荐指数
1
解决办法
157
查看次数

Kotlin - 如何对矩阵的每个元素应用模运算?

我发现 Kotlin 中的 Lambda 非常混乱,最重要的是“它”。关于“它”,我知道两件事,即

  • 如果您的 Lambda 有自己的参数,您可以将其名称替换为“it”。
  • “它”是为您的 Lambda 自动生成的名称,如果它只有一个参数,并且您没有指定不同的参数名称。

我仍然不明白什么是“它”。

例如,我想对3x3矩阵的每个元素应用模函数。

fun main(){
    var result = Array(3) {
        IntArray(3) { 3;2;4;6;7;9;12;11;23 }
    }

    result = Array(3){ IntArray(3) {it%2} }

    println(result.joinToString("\n") { it.joinToString(" ") })
}
Run Code Online (Sandbox Code Playgroud)

在这里,我假设“它”采用矩阵的每个元素,这显然不是我的输出情况:

0 1 0
0 1 0
0 1 0
Run Code Online (Sandbox Code Playgroud)

那么你能解释一下“它”是如何工作的,这里发生了什么?实施该计划的正确方法是什么?

kotlin

2
推荐指数
1
解决办法
139
查看次数

标签 统计

kotlin ×4