采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我是照着写的啊,为什么会报错 println(“Output:${opFunc(args[0].toInt(),args[2].toInt())}”)
这是我用同学提供的代码运行的截图哈,Kotlin 版本也不会影响结果。
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() ) }
我用同学的代码试了一下,没问题啊,同学可以打开这个网页运行一下试试看:https://pl.kotl.in/DJghjaR0P
回复 bennyhuo是我的intellij有问题吗?我定义一个double类型的数组,val k = doubleArrayOf(1d,2d,3d,4d),就会报错Unsupported [literal prefixes and suffixes],如果定义一个float类型的val h = floatArrayOf(1f,2f,3f,4f),就不会报错
登录后可查看更多问答,登录/注册
如果有一门语言可以取代Java,那么它一定是Kotlin。
2.0k 4
2.0k 1
817 1
667 20
1.9k 16
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号