【问题标题】:Random answer Android studio Kotlin随机回答 Android studio Kotlin
【发布时间】:2022-12-10 18:06:19
【问题描述】:

我是初学者,我想编写一个代码,在单击按钮时随机打印“是”或“否”。 (使用科特林)这是我的代码 包 com.example.calculator

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import android.view.View

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        fun buttonPressed(view: View){
            val randomword = Random. ("yes" or "no")
            textView.text = randomword
        }
    }
}

【问题讨论】:

    标签: android kotlin button random view


    【解决方案1】:

    查看 Random 类,了解您可以随机生成的内容。您可以根据所有可能值的范围生成不同的类型,或者您可以自己提供一个范围(例如,在这个 Int 和那个 Int 之间)。然后您可以将这些值用于有用的事情,例如生成随机索引之类的事情。

    由于这里有两个值,您可能只想使用 Random.nextBoolean() 在它们之间进行选择:

    val randomWord = if (Random.nextBoolean()) "yes" else "no"
    

    所以基本上 nextBoolean() 调用的计算结果为真的或者错误的if 条件检查,并返回这两个字符串之一。很简单,对吧?


    但 Kotlin 的另一件事是其集合上的 random 函数。基本上,如果你有一个集合(列表、数组、地图等),你可以在它上面调用random()来获得一个随机项目。这比尝试生成索引然后 get 该项目要好(尽管在某些情况下您也想这样做)

    因此,您可以创建一组响应,并随机选择一个:

    val responses = listOf("yes", "no")
    val randomWord = responses.random()
    

    【讨论】:

      【解决方案2】:

      得到一个随机项目(在你的情况下是“是”或“否”),你可以做

      val options = listOf("yes", "no")
      val randomWord = options.random()
      textView.text = randomWord
      

      然后您可以将上述代码放在活动/片段中按钮的 onClickListener 中,使用 viewBindingfindViewById 引用 textView 和按钮

      【讨论】:

        【解决方案3】:

        你可以尝试这样的事情:

        fun buttonPressed(view: View) {
            val randomInt = (0..1).random()
            if (randomInt == 0) {
                textView.text = "yes"
            } else {
                textView.text = "no"
            }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多