这是一个使用 Scala 编写的程序,它生成一个包含 1 到 20 的数字的数组,然后从中随机选择 1000 个数字,统计每个数字出现的次数,并输出结果
时间: 2023-04-10 11:05:14 浏览: 97
这是一个使用 Scala 编写的程序,它生成一个包含 1 到 20 的数字的数组,然后从中随机选择 1000 个数字,统计每个数字出现的次数,并输出结果:
```
import scala.util.Random
object Main {
def main(args: Array[String]): Unit = {
val arr = (1 to 20).toArray
val rand = new Random()
val selected = Array.fill(1000)(arr(rand.nextInt(arr.length)))
val counts = selected.groupBy(identity).mapValues(_.length)
counts.foreach { case (num, count) => println(s"$num: $count") }
}
}
```
输出结果类似于:
```
1: 47
2: 51
3: 48
4: 55
5: 49
6: 47
7: 52
8: 50
9: 53
10: 49
11: 50
12: 49
13: 52
14: 51
15: 48
16: 53
17: 51
18: 50
19: 48
20: 48
```
相关问题
Scala使用for循环生成数组
在Scala中,可以使用for循环生成数组。以下是一个示例:
```scala
val arr = for (i <- 0 until 10) yield i * 2
```
在这个示例中,我们使用了一个for循环来生成一个包含10个元素的数组。`0 until 10`表示从0到9的范围,`yield i * 2`表示将每个元素乘以2,并将结果存储到新数组中。最终,arr将被赋值为一个包含0、2、4、6、8、10、12、14、16、18这10个元素的数组。
需要注意的是,`for ... yield`语法可以用于任何集合类型,不仅仅是数组。
阅读全文