以下是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)
}
}