繁体   English   中英

在Kotlin中获取空指针异常

[英]Getting null pointer exception in kotlin

a = 2.3和b = 1.9的总和应为4。

所以我试图通过转换为Int来舍入数字,但是我得到了空指针异常。

fun main() {

    val a = readLine()!!.trim().toFloat()
    val b = readLine()!!.trim().toFloat()
    val result = addNumbers(a,b)
}
fun addNumbers(a:Float, b:Float):Int{ //I should not change this function
    return a.toInt()+b.toInt()
}

您可能会在没有标准输入的情况下运行(例如,例如https://play.kotlinlang.org/ ),因为那是readLine()返回null

如果将输入流重定向到文件并且已到达文件末尾,则返回读取行或null。

请提供readLine()函数。 通过添加!!,可以将其用作“如果NPE为空则抛出NPE”。 通话。 更好的是

fun main() {

    val a = readLine()?.trim().toFloat()?: 0
    val b = readLine()?.trim().toFloat()?: 0
    val result = addNumbers(a,b)
}
fun addNumbers(a:Float, b:Float):Int{ //I should not change this function
    return a?.toInt()?:0+b?.toInt()?:0
}

当readLine为null时,您将添加0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM