Kotlin三角形斜边计算方法调用异常问题求助
问题分析与修复方案
你的代码无法正常运行主要有三个关键问题,逐一修复即可解决:
1. 方法参数不匹配
ComputeMethods类中的hypotenuse方法需要两个Int类型参数(width和height),但你调用时只传了一个Double类型的值,而且没有保存用户输入的第一个数值(宽度)。
2. 未正确获取并保存用户输入
你调用了readln()读取宽度,但没有将其赋值给变量,导致这个输入直接丢失了。
3. 公式未完成开平方计算
你当前的代码只计算了两条直角边的平方和,还需要对结果开平方才能得到斜边长度。
修复后的完整代码
fun main() { println("Enter Width of the triangle") val width = readln().toInt() // 保存宽度输入并转为Int println("Enter Height of the triangle") val height = readln().toInt() // 保存高度输入并转为Int ComputeMethods().hypotenuse(width, height) // 传入两个参数 } class ComputeMethods { fun hypotenuse(width: Int, height: Int) { val squareSum = width.toDouble().pow(2) + height.toDouble().pow(2) val hypotenuseLength = Math.sqrt(squareSum) // 开平方得到斜边 println("斜边长度为: $hypotenuseLength") } }
额外优化建议
- 如果希望支持小数输入,可以将方法参数改为
Double类型,调用时用toDouble()转换输入 - 可以添加输入合法性校验,防止用户输入非数字内容导致程序崩溃
内容的提问来源于stack exchange,提问作者Gilli
相关产品推荐
相关产品推荐

