以下是scala简单的入门题~
1、⼀个数字如果为正数,则它的signum为1;如果是负数,怎么signum为-1;如果是0,则signum 为0.编写⼀个函数来计算这个值。
object Test { def main(args : Array[String]){ val a= 1 var signum =if(a>0) 1 else if(a<0) -1 else 0 println(signum) } }
2、针对下列Java循环编写Scala版本 for(int i=10; i>=0;i- -) System.out.println(i)
object Test { def main(args : Array[String]){ for(i<- Range(10,-1,-1)) println(i) } }
3、编写⼀个过程countdown(n : Int), 打印从n-1到0的数字.(n > 1)
object Test { //编写⼀个过程countdown(n : Int), 打印从n-1到0的数字.(n > 1) def countdown(n:Int){ for(i <- Range(n-1,-1,-1))println(i) } def main(args : Array[String]){ countdown(5) } }
4、编写⼀个循环,讲整数数组中相邻的元素置换。如,Array(1,2,3,4,5)经过置换变为 Array(2,1,4,3,5)
object Test { //编写⼀个循环,讲整数数组中相邻的元素置换。如,Array(1,2,3,4,5)经过置换变为 Array(2,3,4,5,1) def swap(array:Array[Int]){ for(idx <- 0 until (if(array.length%2==0) array.length else array.length-1)){ val temp=array(idx) array(idx)=array(idx+1) array(idx+1)=temp } for(i <- 0 until array.length) print(array(i)) } def main(args : Array[String]){ val a=Array(1,2,3,4,5) swap(a) } }
5、任意给定⼀个语句(⾃定义,词与词之间以空格好分隔),统计出每个词出现的次数。
object Test { //任意给定⼀个语句(⾃定义,词与词之间以空格好分隔),统计出每个词出现的次数。 def wordcount(content : String) : Map[String, Int]= { val counts = scala.collection.mutable.Map[String, Int]() for(word <- content.split(' ')){ if (counts.contains(word)) counts(word) = counts(word) + 1 else counts += (word -> 1) } print(counts) counts.toMap } def main(args : Array[String]){ val words="a b c d e f a b c" wordcount(words) } }