scala利用map,从命令行读一个字符串,表示一个年份,输出该年的世界杯冠军
时间: 2024-03-16 22:42:41 浏览: 99
从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。
5星 · 资源好评率100%
以下是一个Scala程序示例,可以从命令行读取一个字符串作为年份,然后利用Map结构输出该年的世界杯冠军:
```scala
object WorldCupChampions {
def main(args: Array[String]): Unit = {
val champions = Map(
1930 -> "Uruguay",
1934 -> "Italy",
1938 -> "Italy",
1950 -> "Uruguay",
1954 -> "West Germany",
1958 -> "Brazil",
1962 -> "Brazil",
1966 -> "England",
1970 -> "Brazil",
1974 -> "West Germany",
1978 -> "Argentina",
1982 -> "Italy",
1986 -> "Argentina",
1990 -> "West Germany",
1994 -> "Brazil",
1998 -> "France",
2002 -> "Brazil",
2006 -> "Italy",
2010 -> "Spain",
2014 -> "Germany",
2018 -> "France"
)
if (args.length == 0) {
println("Please enter a year.")
} else {
val year = args(0).toInt
champions.get(year) match {
case Some(champion) => println(s"The champion of $year is $champion.")
case None => println("No World Cup was held in that year.")
}
}
}
}
```
该程序首先定义了一个Map结构,其中键是世界杯的年份,值是该年的冠军国家。然后,程序从命令行读取一个字符串作为年份,将其转换为整数后在Map中查找对应的冠军。如果找到了,程序输出该年的冠军国家;否则,输出“在该年没有世界杯举办”的消息。
阅读全文