Kotlin - 如何从 charRange '0..'z' 中获取 5 个(或选定的数字)随机字符
Kotlin - How to get 5(or selected numbers) random Char from charRange '0..'z'
您知道从范围 '0..'z' 中获取 5(或选定的数字)个随机字符吗??
在“fun putCharTogehter”中,必须使用特定数字调用,并且必须使用 + 运算符将这些 Char 放入新字符串,然后 return 到具有完整强壮的“fun main”,其大小为 5 或已选择
在概念上我知道该怎么做,但是是的,只是在概念上。
希望输出示例:38dj(
fun main() {
println(putCharTogehter(5))
}
fun putCharTogehter(stringSize: Int): String {
var charRange = ('0'..'z').random()
return charRange.toString()
}
您可以先创建字符数组,然后将其转换为字符串:
fun putCharTogehter(stringSize: Int): String {
return CharArray(stringSize) {
('0'..'z').random()
}.concatToString()
}
还有一个选择:
fun putCharTogether(stringSize: Int): String = buildString {
repeat(stringSize) {
append(('0'..'z').random())
}
}
另一种方式:
fun putCharTogether(stringSize: Int): String {
return (1..stringSize).joinToString("") { ('0'..'z').random().toString() }
}
或
fun putCharTogether(stringSize: Int): String {
return (1..stringSize).map { ('0'..'z').random() }.joinToString("")
}
另一种方法:
val charRange = ('0'..'z')
val randomChars = generateSequence { charRange.random() }
randomChars.take(5).joinToString("").run(::println)
您可以缩短它,但关键是您可以将 sequence
放在一起,这基本上是一个无休止的随机字符源,并且只是 take
需要它们。你可以很容易地把一个管道放在一起,比如说,drop
s 在给定情况下你需要排除的某些字符,或者你需要的任何其他处理。视情况而定,但它可能是一种很好的组合方式
您知道从范围 '0..'z' 中获取 5(或选定的数字)个随机字符吗?? 在“fun putCharTogehter”中,必须使用特定数字调用,并且必须使用 + 运算符将这些 Char 放入新字符串,然后 return 到具有完整强壮的“fun main”,其大小为 5 或已选择
在概念上我知道该怎么做,但是是的,只是在概念上。
希望输出示例:38dj(
fun main() {
println(putCharTogehter(5))
}
fun putCharTogehter(stringSize: Int): String {
var charRange = ('0'..'z').random()
return charRange.toString()
}
您可以先创建字符数组,然后将其转换为字符串:
fun putCharTogehter(stringSize: Int): String {
return CharArray(stringSize) {
('0'..'z').random()
}.concatToString()
}
还有一个选择:
fun putCharTogether(stringSize: Int): String = buildString {
repeat(stringSize) {
append(('0'..'z').random())
}
}
另一种方式:
fun putCharTogether(stringSize: Int): String {
return (1..stringSize).joinToString("") { ('0'..'z').random().toString() }
}
或
fun putCharTogether(stringSize: Int): String {
return (1..stringSize).map { ('0'..'z').random() }.joinToString("")
}
另一种方法:
val charRange = ('0'..'z')
val randomChars = generateSequence { charRange.random() }
randomChars.take(5).joinToString("").run(::println)
您可以缩短它,但关键是您可以将 sequence
放在一起,这基本上是一个无休止的随机字符源,并且只是 take
需要它们。你可以很容易地把一个管道放在一起,比如说,drop
s 在给定情况下你需要排除的某些字符,或者你需要的任何其他处理。视情况而定,但它可能是一种很好的组合方式