因此,我开始使用Kotlin来解决CodeChef和Codeforces等网站上遇到的一些基本问题。
这个问题要求我们输入2个整数变量,例如 x 和 y ,然后输入以 y 隔开的整数,例如 m 1 ,m 2 ,m 3 等,直到 m Y < / em>。但是它的输入方式如下所示:
4 3
3 2 3
我的Kotlin输入代码是这样的:
fun main(args: Array<String>)
{
val n = readLine()!!.toInt()
val m = readLine()!!.toInt()
var a:Int
for(i in 1..m) {
a= readLine()!!.toInt()
//Some additional manipulation involving all three variables
}
}
提交后,我收到以下消息:
java.lang.NumberFormatException: For input string: "4 3"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at ProgramKt.main(program.kt:2)
因此,为了使我的代码成为我的代码,我必须以某种方式终止遇到空白的readLine()方法。还是还有其他方法?
答案 0 :(得分:0)
在评论中进行一些讨论之后,答案很简单。我们要做的是实现split函数,然后将每个元素映射为一个Int。
fun main(args: Array<String>){
val xandy = readLine()!!.split(" ").map{it.toInt()}
val elems= readLine()!!.split(" ").map{it.toInt()}
var b=1
var ans=0
for(i in 1..xandy[1]){
//Manipulation stuff
}
}