我通过以下程序进行了尝试,但它显示了预期 kotlin 变量的错误:
[
我通过以下程序进行了尝试,但它显示了预期 kotlin 变量的错误:
[
这不是传统的方式,但无论如何:
fun main(args: Array <String> ) {
var a = readLine()!!.toInt()
var b = readLine()!!.toInt()
println("a=$a and b=$b")
val c = a + b
a = c - a
b = c - b
println("now a=$a and b=$b")
}
这是传统的方式:
fun main(args: Array <String> ) {
var a = readLine()!!.toInt()
var b = readLine()!!.toInt()
println("a=$a and b=$b")
val c = a
a = b
b = c
println("now a=$a and b=$b")
}
这是只有 2 个变量的 Kotlin 方式:
fun main(args: Array <String> ) {
var a = readLine()!!.toInt()
var b = readLine()!!.toInt()
println("a=$a and b=$b")
a = b.also { b = a }
println("now a=$a and b=$b")
}
我不知道,你为什么要交换值,但取决于你想要做什么,如果你不需要变量,这是另一种使用 a 的方法Pair
:
(readLine()!! to readLine()!!)
.also(::println) // optional
.map { a, b -> b to a }
.also(::println) // optional
用于输入1
和2
打印:
(1, 2)
(2, 1)
有关进一步交换的可能性,您可能还想查看:Kotlin 中的交换函数
以Enter a
等为例:
val ask : (String) -> String = {
print(it)
readLine()!!
}
(ask("Enter a: ") to ask("Enter b: "))
.map { a, b -> b to a }
使用 Kotlin 类型转换的强大功能,它就完成了!
var a = readLine()!!
var b = readLine()!!
//print
val c = a.toInt() + b.toInt()
b = (c-b.toInt()) as String
a = (c-a.toInt()) as String
//print
您可以使用名为'also' 的kotlin 标准函数。
var a = readLine()!!
var b = readLine()!!
a = b.also { b = a }