You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala中如何正确打印两数之和?代码输出异常求助

问题解决:Scala两数相加输出异常

你的代码问题出在curr方法的返回值上:

  • Scala是表达式语言,方法的返回值默认是方法体最后一个表达式的结果
  • 原代码中var result= value +9是赋值语句,赋值语句的结果是Unit(即()),所以curr()返回的是Unit,最终输出Sum is ()

修复方案(两种任选其一)

方案1:直接返回计算表达式

object test1 {
  def main(args: Array[String]):Unit={
    val obj= new A();
    println("Sum is " + obj.curr())
  }
}
class A{
  private var value=6
  def curr()={
    value + 9 // 最后一行表达式作为返回值
  }
}

方案2:保留变量,将变量作为最后一行

object test1 {
  def main(args: Array[String]):Unit={
    val obj= new A();
    println("Sum is " + obj.curr())
  }
}
class A{
  private var value=6
  def curr()={
    var result= value +9
    result // 将变量作为最后一行,作为返回值
  }
}

运行修复后的代码,就能得到期望的Sum is 15输出。

内容的提问来源于stack exchange,提问作者Abhishek Chatterjee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 14:34:49