gpt4 book ai didi

android - 密码生成器显示kotlin.Unit

转载 作者:行者123 更新时间:2023-12-02 13:40:09 27 4
gpt4 key购买 nike

我正在尝试根据用户输入创建随 secret 码生成器,并且在我使用.toCharArray()。shuffle()函数之前,一切都很好,但是由于没有将其放入预定位置,因此没有太过可预测性。此代码有什么办法可以工作?任何解决方法?我已经尝试过stringbuilder,但是它绕过了用户输入,所以我现在不知道该怎么办。

val chars= "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~@#$%^&*()!"

override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
if (fromUser)
{
when(seekBar)
{
sbNumberOfLetters ->
{
tvLetterCount.text = progress.toString()
smallLetters = progress
}

sbNumberOfCapitalLetters ->
{
tvCapitalsCount.text = progress.toString()
capitalLetterNumber = progress
}

sbNumberOfNumerals ->
{
tvNumeralsCount.text = progress.toString()
numeralsNumber = progress
}

sbNumberOfSpecialChars ->
{
tvSpecialCharsCount.text = progress.toString()
specialCharNumber = progress
}
}
}
}



private fun generatePassword() {

for (y in 1..numeralsNumber)
{
var randomLetter = Random.nextInt(0, 9)
listOfLetters.add(chars[randomLetter].toString())
}

for (w in 1..smallLetters)
{
var randomLetter = Random.nextInt(10, 36)
listOfLetters.add(chars[randomLetter].toString())
}

for (x in 1..capitalLetterNumber)
{
var randomLetter = Random.nextInt(36, 62)
listOfLetters.add(chars[randomLetter].toString())
}

for (z in 1..specialCharNumber)
{
var randomLetter = Random.nextInt(63, 73)
listOfLetters.add(chars[randomLetter].toString())
}

password = (listOfLetters.joinToString(separator = "",)).toCharArray().shuffle().toString()

tvGeneratedPassword.text = password

listOfLetters.clear()
}

最佳答案

shuffle返回Unit,因此在toString()上调用Unit将返回kotlin.Unit中定义的Unit。试试这个:

listOfLetters.shuffle()
val password = listOfLetters.joinToString(separator = "")
tvGeneratedPassword.text = password

关于android - 密码生成器显示kotlin.Unit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64194068/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com