用scala定义一个数组,并给出 8 个整数,求该数组中大于平均值的数的个数,和小于平均值的数的个数的代码
时间: 2023-04-06 20:01:04 浏览: 178
很高兴回答你的问题。以下是用 Scala 定义一个数组,并给出 8 个整数,求该数组中大于平均值的数的个数,和小于平均值的数的个数的代码:
```
val arr = Array(1, 2, 3, 4, 5, 6, 7, 8)
val avg = arr.sum.toDouble / arr.length
val countGreater = arr.count(_ > avg)
val countLess = arr.count(_ < avg)
println(s"大于平均值的数的个数为:$countGreater")
println(s"小于平均值的数的个数为:$countLess")
```
希望能够帮到你!
相关问题
从键盘输入一个整数n,定义一个数组arr,长度为n。从键建盘输入n个整数,存入数组arr中。输入一个整数m,将数组arr中与m相同或是m的倍数的数删除,输出删除后的数组的所有元素。用eclipse-scala代码写出
在Scala中,你可以使用Scanner类来获取用户的键盘输入,并结合列表操作来实现这个功能。首先,你需要导入`java.util.Scanner`。以下是一个简单的步骤描述和代码示例:
```scala
import java.util.Scanner
// 定义函数接受用户输入并创建数组
def createArray(n: Int): List[Int] = {
val scanner = new Scanner(System.in)
(1 to n).map(_ => scanner.nextInt()) // 从键盘读取n个整数
}
// 定义函数查找并删除满足条件的元素
def deleteMultiples(arr: List[Int], m: Int): List[Int] = {
arr.filter(num => num != m && num % m != 0) // 删除arr中与m相同或m的倍数的数
}
// 获取用户输入并处理
val n = scala.io.StdIn.readInt() // 输入数组长度
val arr = createArray(n)
val m = scala.io.StdIn.readInt() // 输入需要删除的数
val modifiedArr = deleteMultiples(arr, m)
// 输出删除后的数组
println("删除后的数组: " + modifiedArr.mkString(", "))
```
在这个例子中,我们先创建了一个长度为n的整数列表,然后让用户输入一个值m,接着删除列表中与m相同或其倍数的数。最后打印出修改后的数组。
scala构造一个数组
在 Scala 中,我们可以使用 Array 类型来构造一个数组。下面是一个示例:
```scala
// 创建一个包含整数的数组
val intArray = Array(1, 2, 3, 4, 5)
// 创建一个包含字符串的数组
val strArray = Array("hello", "world", "scala")
```
我们还可以使用 `Array.ofDim` 方法来创建一个指定大小的多维数组。例如,创建一个 2 行 3 列的二维数组:
```scala
val matrix = Array.ofDim[Int](2, 3)
```
这将创建一个 `Array[Array[Int]]` 类型的数组,其中两个元素都是包含三个整数的数组。
阅读全文