系列文章目录
前言
这学期开了《Spark编程基础》,需要用到Scala语言,书上写的比较简单,本着学一门语言就应该尽量往深处学的想法,到图书馆借了一本《快学Scala》,英文名《Scala for the Impatient》,争取每周看完两章,并将相应练习写成博客。
练习
1.编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间。
首先引入scala.io.StdIn.readInt包
import scala.io.StdIn.readInt
object Test {
def main(args: Array[String]): Unit = {
val n: Int= readInt() //输入n的值
val a = new Array[Int](n) //建立元素个数为n的数组
for(i <- 0 until a.length){
a(i) = scala.util.Random.nextInt(n) //将随机数存入数组,随机数的范围为[0,n)
}
print(a.mkString(" ")) //将数组a中每个元素用空格隔开,转换成字符串进行输出
}
}
2.编写一个循环,将整数数组中相邻的元素置换。例如,Array(1, 2, 3, 4, 5)经过置换后变为Array(2, 1, 4, 3, 5)。
object Test {
def main(args: Array[String]): Unit = {
val a = Array[Int](1,2,3,4,5,6,7,8,9,10) //建立数组a
println(a.mkString("|")) //将数组a中每个元素用"|"隔开,转换成字符串进行输出,输出后换行
//相邻元素进行置换
for(i <- 0 until a.length by 2 if i < a.length-1 ){ //守护if i < a.length-1 是防止数组a(i + 1)发生越界
val temp = a(i)
a(i) = a(i + 1)
a(i + 1) = temp
}
print(a.mkString("|")) //将数组a中每个元素用"|"隔开,转换成字符串进行输出
}
}
3.重复前一个练习,不过这一次生成一个新的值交换过的数组。用for/yield。
object Test {
def main(args: Array[String]): Unit = {
val a = Array[Int](1,2,3,4,