首页 > 解决方案 > 没有 var scala 的累积和

问题描述

我试图在scala中使用var和for循环以命令式风格计算整数列表的累积总和,这似乎可行,但我想知道我们是否可以在不使用var和counter的情况下以更好的方式做到这一点?

这是我的代码

val ar1 = Array[Int](1, 0, 1, 0, 0)            
//> ar1  : Array[Int] = Array(1, 0, 1, 0, 0)
var cumsum = 0.0;                                
//> cumsum  : Double = 0.0
for (i <- 0 until ar1.length) {
  if (i == 0) {
    cumsum = 0;
  } else {
    cumsum = ar1(i - 1) * 0.99 + cumsum;
  }
  println(cumsum)
}   

这是我期待的输出

                                          //> 0.0
                                          //| 0.99
                                          //| 0.99
                                          //| 1.98
                                          //| 1.98

标签: scalascala-collections

解决方案


推荐阅读