object StatsCalculator {
def main(args: Array[String]): Unit = {
val numbers = Seq(3.4, 1.8, 4.3, 5.0, 6.2)
val mean = calculateMean(numbers)
val stddev = calculateStandardDeviation(numbers, mean)
println(f"Mean: $mean%.2f")
println(f"Standard Deviation: $stddev%.2f")
}
def calculateMean(data: Seq[Double]): Double = {
if (data.isEmpty) 0.0
else data.sum / data.length
}
def calculateStandardDeviation(data: Seq[Double], mean: Double): Double = {
if (data.length < 2) 0.0
else {
val squaredDiffs = data.map(x => math.pow(x - mean, 2))
val variance = squaredDiffs.sum / (data.length - 1)
math.sqrt(variance)
}
}
}
/*
run:
Mean: 4.14
Standard Deviation: 1.66
*/