请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Type mismatch: inferred type is Int but Nothing was expected

我是照着写的啊,为什么会报错
println(“Output:${opFunc(args[0].toInt(),args[2].toInt())}”)

正在回答

2回答

https://img1.sycdn.imooc.com/szimg/67a2e04b09267c8121621668.jpg

这是我用同学提供的代码运行的截图哈,Kotlin 版本也不会影响结果。

0 回复 有任何疑惑可以回复我~
bennyhuo 2025-02-05 10:57:15
同学贴一下完整的代码看看呢
0 回复 有任何疑惑可以回复我~
  • 提问者 最速败犬_lvBFPR #1
    fun main(vararg args: String) {
        if (args.size < 3) {
          return showHelp()
    
        }
    
        val operators = mapOf(
            "+" to ::plus,
            "-" to ::minus,
            "*" to ::times,
            "/" to ::div
        )
    
        val op = args[1]
        val opFunc = operators[op] ?: return showHelp()
    
        try {
            println("Input:${args.joinToString(" ")}")
            println("Output:${opFunc(args[0].toInt(),args[2].toInt())}")
        } catch (e: Exception) {
            println("Invalid Argument!")
    
            showHelp()
        }
    
    }
    
    fun plus(arg0:Int,arg1:Int):Int{
        return arg0 + arg1
    }
    fun minus(arg0:Int,arg1:Int):Int{
        return arg0 - arg1
    }
    fun times(arg0:Int,arg1:Int):Int{
        return arg0 * arg1
    }
    fun div(arg0:Int,arg1:Int):Int{
        return arg0 / arg1
    }
    
    fun showHelp(){
        println(
            """
                Simple Calculator
                Input: 3*4
                Output: 12
            """.trimIndent()
        )
    }
    回复 有任何疑惑可以回复我~ 2025-02-05 10:57:57
  • bennyhuo 回复 提问者 最速败犬_lvBFPR #2
    我用同学的代码试了一下,没问题啊,同学可以打开这个网页运行一下试试看:https://pl.kotl.in/DJghjaR0P
    回复 有任何疑惑可以回复我~ 2025-02-05 11:51:04
  • 提问者 最速败犬_lvBFPR 回复 bennyhuo #3
    回复 bennyhuo是我的intellij有问题吗?我定义一个double类型的数组,val k = doubleArrayOf(1d,2d,3d,4d),就会报错Unsupported [literal prefixes and suffixes],如果定义一个float类型的val h = floatArrayOf(1f,2f,3f,4f),就不会报错
    回复 有任何疑惑可以回复我~ 2025-02-05 12:14:16
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号