Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin:如何根据两个文本框生成If语句_Android_Kotlin - Fatal编程技术网

Android Kotlin:如何根据两个文本框生成If语句

Android Kotlin:如何根据两个文本框生成If语句,android,kotlin,Android,Kotlin,我正在为NPC编写一个简单的随机字符生成器。 我需要从已经定义的名字数组中随机抽取一个名字,但前提是性别和种族都满足 例如,如果它生成一个人类男性,它将从人类男性姓名列表中提取。所以它需要检查角色的性别和种族 两者都是从自己的数组中提取的,但我很难让应用程序从数组结果中提取,然后从正确的名称数组中提取 我对这种编码很陌生,所以如果我遗漏了一些明显的东西,我很抱歉。任何帮助都将不胜感激。不看代码,我们不知道您是如何实现逻辑的。但在你的情况下,我会做的是: 创建一个返回字符串类型名称的方法。这种方法

我正在为NPC编写一个简单的随机字符生成器。 我需要从已经定义的名字数组中随机抽取一个名字,但前提是性别和种族都满足

例如,如果它生成一个人类男性,它将从人类男性姓名列表中提取。所以它需要检查角色的性别和种族

两者都是从自己的数组中提取的,但我很难让应用程序从数组结果中提取,然后从正确的名称数组中提取


我对这种编码很陌生,所以如果我遗漏了一些明显的东西,我很抱歉。任何帮助都将不胜感激。

不看代码,我们不知道您是如何实现逻辑的。但在你的情况下,我会做的是:

  • 创建一个返回字符串类型名称的方法。这种方法将受到性别和种族的影响
  • 将侦听器添加到“性别和种族”下拉列表中,以了解用户何时选择性别或种族
  • 当用户选择性别或种族时,检查用户是否已从其他下拉列表中选择。如果用户已从两个下拉列表中选择,请将所选性别和种族传递给您在步骤1中创建的方法
  • 创建数据类
    User

    数据类用户(变量名称:String,变量性别:Char,变量种族:String)

  • 将您的所有用户添加到列表中,选择性别和种族后,使用指定的条件筛选列表,该条件将返回筛选的用户

  • 然后使用从筛选列表中获取随机项

  • val list=mutableListOf()
    添加(用户(“Jack”、“M”、“RACE1”))
    //.....
    添加(用户(“Jill”、“F”、“RACE2”))
    val sex='M'
    val race=“RACE1”
    //假设至少有用户可满足以下条件
    val randomUser=list.filter{it.sex==sex&&it.race==race}.let{
    it[Random.nextInt(it.size)]
    }
    日志(“所选用户名${randomUser.name}”)
    
    你好,杰克,欢迎光临。您应该显示到目前为止已完成的代码。
    val list = mutableListOf<User>()
    list.add(User("Jack", 'M', "RACE1"))
    //.....
    list.add(User("Jill", 'F', "RACE2"))
    
    val sex = 'M'
    val race = "RACE1"
    
    //assuming at least user will be available to meet below conditions
    val randomUser = list.filter { it.sex == sex && it.race == race }.let {
        it[Random.nextInt(it.size)]
    }
    log("Selected user name ${randomUser.name}")