目前采取目前正使用Scala的,我以前从未使用过的一类,所以,语法和它本身是新的。斯卡拉不变的变量和打印
我工作的一个简单的除法功能,但我遇到了一些错误。
首先,我使用VAR子= M吧?在我的代码中,我只是想做m = m-n,但是你不能改变这个变量,我不确定最好的选择是什么。 然后我唯一的另一个问题是编译器呵斥我为我打印行..
<console>:14: error: reassignment to val
m = m-n
///////////////////////// ////////////////////////////////////////////////// ////
<console>:16: error: type mismatch;
found : Unit
required: Int
println(x)
/////////////////// ////////////////////////////////////////
def div(m: Int, n: Int): Int = {
var x = 0
var sub = m
if (n > m)
print("Can't perform that.")
while (sub >= n) {
x+=1
sub = sub-n
}
println(x)
}
它总是以最后一条语句作为回报吗? 另外,我使用var sub = m方法吗?它只是看起来像添加不必要的废话,但你显然不能只是做m = mn –
@johnredyns是的,sub = m是正确的,在斯卡拉函数/方法的参数总是一个val,你不能做重新分配他们。在大多数情况下,Scala使用函数方法(例如递归)来解决你描述的问题,所以恕我直言,不能重新分配参数。 –