簡體   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