import kotlin.reflect

fun main(args: Array<String>) {
    
    val cons = listOf("B","C","D", "F", "G", "H", "J", "K", "M", "N", "P", "Q", "R", "S", "T", "V", "W", "X", "Y", "Z",)
        
    var str = "JBIKCA"
    
       for (item in str.indices) {
        val j = (str[item])
         if (j in cons){
          println(j)
         }             
    }

对于这个基本问题,我很抱歉,但这是我第一次使用这种语言.

正确的输出应为:

J
B
K
C

推荐答案

问题是jChar,而cons包含String个元素.

只需在判断前将字符转换为字符串即可.您还可以使用for..in更简单地迭代str

for (j in str) {
    if (j.toString() in cons) {
        println(j)
    }
}

Kotlin相关问答推荐

限制通用Kotlin枚举为特定类型

为什么Kotlin有次构造函数和init块?

Criteria Api 中的 Kotlin 泛型

Kotlin supervisorScope 即使包裹在 try catch 中也会失败

如何使用 Mockk 模拟返回值类的 Kotlin 函数类型?

如何使用子变量在 Kotlin 中初始化父级

如何在 jOOQ 中两次加入同一张表?

Spring webflux bean验证不起作用

使用最新的 com.jakewharton.rxbinding3:rxbinding:3.0.0-alpha2 库时未找到 RxTextView 和其他小部件

IntentService (kotlin) 的默认构造函数

致命错误 LifecycleOwners 必须在 registerForActivityResult 开始之前调用 register

Firebase 权限被拒绝

使用 clear() 删除 EncryptedSharedPreferences 不起作用

Kotlin默认使用哪种排序?

为什么 Kotlin Pair 中的条目不可变?

在 Kotlin 中返回函数有不那么丑陋的方法吗?

使用 rxbinding 时我应该取消订阅吗?

Kotlin中的嵌套let块

如何在kotlin的android中读写txt文件

Android Studio - Kotlin Tests Throwing - Class not found - Empty test suite