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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Kotlin 如何更改代码,使其位于一行中_Kotlin - Fatal编程技术网

Kotlin 如何更改代码,使其位于一行中

Kotlin 如何更改代码,使其位于一行中,kotlin,Kotlin,此代码搜索字符串中至少出现在两个单词中的字符 例如: 输入:你好,世界 输出:lo 我不知道如何将这段代码转换成一行代码,这可能吗? 我刚刚开始学习Kotlin编程语言,所以我请求帮助 fun main() { var s = readLine(); var w = Array(128){0} var g = Array(128){0} if(s!=null) { for(c in s) {

此代码搜索字符串中至少出现在两个单词中的字符

例如

输入:你好,世界

输出:lo

我不知道如何将这段代码转换成一行代码,这可能吗? 我刚刚开始学习Kotlin编程语言,所以我请求帮助

    fun main() {
    
    var s = readLine();
    var w = Array(128){0}
    var g = Array(128){0}
    if(s!=null)
    {
        for(c in s)
        {
            if(c.toInt() != 32)
            {
                w[c.toInt()] = 1
            }
            for(k in 0..127)
            {
                if(w[k] == 1)
                {
                    g[k] += 1
                    w[k] = 0
                }
            }
        }
    }
    
    //for last word
    for(k in 0..127)
    if (w[k] == 1)
    {
        g[k] += 1
        w[k] = 0
    }
    
    
    //PRINT
    for(k in 0..127)
    {
        if(g[k] > 1) print(k.toChar())
    }
   }

也许有更好的编程方法是的,但是将其更改为单行代码有什么意义呢?它不会让你的程序更快,也不会让你的程序更可读。@Andrew这个算法,最快的,可能比一行代码更可读,我只是想把它缩短到一行。不,我认为这是不可能的。如前所述,有一些方法可以更好地编写上述编写的代码,但不是一行一行。我建议您深入学习kotlin编程。@Andrew使用助手函数filter、map、reduce-这不可能吗?除了输入和输出。这段代码做什么?使用有意义的变量名称可能有更好的编程方法是的,但是将其更改为单行代码有什么意义呢?它不会让你的程序更快,也不会让你的程序更可读。@Andrew这个算法,最快的,可能比一行代码更可读,我只是想把它缩短到一行。不,我认为这是不可能的。如前所述,有一些方法可以更好地编写上述编写的代码,但不是一行一行。我建议您深入学习kotlin编程。@Andrew使用助手函数filter、map、reduce-这不可能吗?除了输入和输出。这段代码做什么?使用有意义的变量名称你能帮我再问一个关于Kotlin编程的问题吗?@roxyashechka Okey,需要等待90分钟(非常好的答案! 代码比问题更容易阅读和理解! (它也比较短,但这是一个有用的副作用,而不是一个目标本身。)你能帮我再问一个关于Kotlin编程的问题吗?@roxyashechka Okey,需要等待90分钟(很好的答案! 代码比问题更容易阅读和理解! (它也比较短,但这与其说是一个目标本身,不如说是一个有用的副作用。)
fun main() {
    val input = readLine() ?: return

    val result = input.split(" ")
        .flatMap { it.toSet() }
        .groupBy { it }
        .filterValues { it.size > 1 }
        .keys
        .joinToString(separator = "")

    println(result)
}