《快学Scala》学习笔记+练习题答案
##第三章 数组相关操作
3.1
编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含) 和n(不包含)之间。
import collection.mutable.ArrayBuffer
import scala.util.Random
def createArray(n:Int):Array[Int]={
for(i <- 1 to n)
yield Random.nextInt(n)
}
3.2
编写一个循环,将整数数组中相邻的元素置换 例如, Array {1,2,3,4,5)经过置换后变为Array ( 2 ,1 , 4 , 3 , 5)
val a = Array(1,2,3,4,5)
for (i <- 0 until a.length if i%2 ==1){
val tmp = a(i)
a(i) = a(i-1)
a(i-1) = tmp
}
println(a.mkString(","))
3.3
重复前一个练习,不过这一次生成一个新的值交换过的数组使用 for/yield。
val a = Array(1,2,3,4,5,6,7)
val b = for (i <- 0 until a.length)
yield i match {
case i if i%2 ==1 => a(i-1)
case i if i < a.length-1 => a(i+1)
case _ => a