object TestClass {
def main (args: Array[String]) {
println("Hello World");
val c = List (1,2,3,4,5,6,7,8,9,10)
println(findMax(c))
}
def findMax (tempratures: List[Int]) {
tempratures.foldLeft(Integer.MIN_VALUE) {Math.max}
}
}
显示的输出是
Hello World
()
为什么输出不是
Hello World
10
我在IntelliJ
中这样做答案 0 :(得分:10)
这是最常见的scala拼写错误之一。
您在方法结束时错过了=
:
def findMax (tempratures: List[Int]) {
应阅读:
def findMax (tempratures: List[Int]) = {
关闭=
意味着您的方法返回Unit
(无)。
答案 1 :(得分:7)
因为您定义的findMax
没有返回类型,所以返回类型为Unit
或()
。
def findMax (tempratures: List[Int]) { ... }
又名
def findMax (tempratures: List[Int]) : Unit = { ... }
你想要
def findMax (tempratures: List[Int]) : Int = { ... }
或省略类型
def findMax (tempratures: List[Int]) = { ... }