【发布时间】:2014-07-12 02:36:17
【问题描述】:
我正在尝试使用递归在 Scala 中编写一个程序,以查看两个列表是否不相交。这是我第一次用 Scala 编写程序。
object Main {
def member(x:Int,lst:List[Int]):Boolean= {
if (lst == Nil)
return false
else
if (x != lst.head)
return member(x, lst.tail)
else
return true
}
def disjoint(s1:List[Int], s2:List[Int]):Boolean= {
if (s1 == Nil)
return true
else
if (member(s1.head,s2))
return false
else
return disjoint(s1.tail, s2)
}
def main(args: Array[String]) {
val lst1 = 2 :: (6 :: (1 :: Nil))
val lst2 = 1 :: (3 :: (5 :: (7 :: (9 :: (11 :: Nil)))))
val lst3 = disjoint(lst1, lst2)
}
}
它编译但它不运行。我们将不胜感激所有帮助。
【问题讨论】:
-
我得到 lst3: Boolean = false
-
你可以省略这里所有的
return字,顺便说一句