快学scala第三章课后题:
1.编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间.
package KS
import scala.util.Random
/**
* Created by sendoh on 2015/5/2.
*/
object answer1 {
def main(args: Array[String]): Unit ={
makeArr(10).foreach(println)
}
def makeArr(n: Int): Array[Int] = {
val a = new Array[Int](n)
val rand = new Random();
for (i <- a) yield rand.nextInt(n);
}
}
2.编写一个循环,将整数数组中相邻的元素置换。例如,Array(1,2,3,4,5)经过置换后变为Array(2,1,4,3,5).
package KS
/**
* Created by sendoh on 2015/5/3.
*/
object answer2 {
def main(args: Array[String]): Unit ={
val a = Array(1, 2, 3, 4, 5)
revert(a)
a.foreach(println)
}
def revert(arr: Array[Int]): Unit ={
for (i <- 0 until (arr.length - 1, 2)){
val t = arr(i)
arr(i) = arr(i + 1)
arr(i + 1) = t
}
}
}
3.重复前一个练习,不过这一次生成一个新的值交换过的数组。用for/yield.
package KS
/**
* Created by sendoh on 2015/5/3.
*/
object answer3 {
def main(args: Array[String]) {
val a = Array(1, 2, 3, 4, 5)
val b = revertFile(a)
b.foreach(println)
}
def revertFile(arr: Arr