scala中,根据参数n,输出等腰三角形
时间: 2024-09-26 22:17:04 浏览: 16
在Scala中,你可以使用for循环或者递归来创建一个等腰三角形。这里是一个简单的示例,使用for循环打印出n行的等腰三角形:
```scala
def printRightTriangle(n: Int): Unit = {
for (i <- 1 to n) {
// 打印空格
val spaces = " " * (n - i)
// 打印星号
val stars = "*" * (2 * i - 1)
// 每一行由空格和星号组成
println(spaces + stars)
}
}
// 调用函数并传入想要的行数
printRightTriangle(5)
```
如果你想让用户输入n然后创建三角形,可以添加一个主函数来接收输入:
```scala
def main(args: Array[String]): Unit = {
print("请输入等腰三角形的行数: ")
val n = readInt // 使用scala.io.StdIn.readLine读取用户的输入,这里假设readInt函数存在
printRightTriangle(n)
}
```
相关问题
scala 打印等腰三角形
以下是使用Scala打印等腰三角形的代码:
```scala
def printTriangle(height: Int): Unit = {
for (i <- 1 to height) {
for (j <- 1 to height - i) {
print(" ")
}
for (k <- 1 to 2 * i - 1) {
print("*")
}
println()
}
}
val height = 5
printTriangle(height)
```
运行代码后,会打印一个高度为5的等腰三角形:
```
*
***
*****
*******
*********
```
scala中map降序输出
在 Scala 中,可以使用 `sortBy` 函数和 `reverse` 函数来实现按照 map 值的降序输出。具体实现代码如下:
```scala
val map = Map("a" -> 3, "b" -> 1, "c" -> 2)
val sortedMap = map.toSeq.sortBy(-_._2).toMap
println(sortedMap)
```
输出结果为:
```
Map(a -> 3, c -> 2, b -> 1)
```
解释一下上面的代码:`map.toSeq` 将 map 转换成一个元素为键值对的序列,`sortBy` 函数用 `-` 来指定降序排列,最后的 `toMap` 函数将排序后的序列转换回 map。