Scala基礎程式設計練習
阿新 • • 發佈:2020-12-29
scala練習
初入scala中遇到的練習,不一定是最佳方法
- 100以內的數求和,求出當和第一次大於 20 的當前數。
import scala.util.control.Breaks._
var m=0
for(i<-1 to 100){
m+=i
if(m>20){
println(i)
break
}
}
- 編寫一個包含 100 個隨機數字(Int 型)的 List,通過 map 將此 List
中所有 成員乘以 2,接下來用 filter 把所有的偶數找出來。提示:scala.util.Random 可生 成隨機數。
var list = List. fill(100)(scala.util.Random.nextInt(101)).map(_*2).filter(_%2==0)
println(list)
九九乘法表
for (i<-1 to 9;j<-1 to i){
print(s"$j*$i=${i*j} ")
if(i==j){println()}
}
- 定義一個沒有返回值的函式,實現輸入一個整數,列印金字塔
def triangle(rows:Int):Unit={
def space(row:Int):Unit={
for (i<-1 to rows- row){
print(" ")
}
}
def star(row:Int)={
for (j<-1 to 2*row-1){
print("*")
}
println()
}
for (i<-1 to rows){
space(i)
star(i)
}
}
triangle(5)
- 編寫函式values(fun:(Int)=>Int,low:Int,hight:Int)
def values(fun: (Int)=> Int, low: Int, high: Int)= (low to high).map{x => (x,fun(x))}
val x = values(x => x * x, -5, 5)
println(x)
- 經典WordCount,按統計資料結果由大到小排序 val
list=List(“hadoop spark”,“hello world”,“hello spark”,“hello hadoop”)
val list=List("hadoop spark","hello world","hello spark","hello hadoop")
list.flatMap(_.split(" ")).map(x=>(x,1)).groupBy(_._1).map(x=>{(x._1,x._2.size)})
.toList.map(x=>(x._2,x._1)).sortBy(x=>x._1*(-1)).foreach(println)