《快学scala》Chapter 3 数组相关操作
最近在学这本书,没有java基础,根据博主(我是一个粉刷匠)编写课后题,第三章中博主多道题目运用了类,小白才疏学浅尚不清楚。用自己的方法,写了几个题。
3.1 编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间。
class array{
def arr(args: Array[Int]){
getArr(20).foreach(println)
}
def getArr(n: Int):Array[Int]={
val a = new Array[Int](n)
val rand = new scala.util.Random()
for(i <- a)yield rand.nextInt(n)
}
}
object test {
def main(args: Array[String]){
val s = new array
s.arr(Array())
}
}
3.2 编写一个循环,将整数数组中相邻的元素置换,例如,Array(1,2,4,5,6)经过置换后变为Array(2,1,5,4,6)
object convert {
def main(args: Array[String]): Unit = {
val s = Array(4,5,6,7,8)
for (i <- 0 until (s.length-1,2)){ /*若i取到s.length-1,当数组中元素个数为奇数时,i为偶数,s(i+1)为空*/
val t = s(i)
s(i) = s(i+1)
s(i+1) = t
}
s.foreach(println)
}
}
3.3 重复前一个练习,不过这一次生成一个新的值交换过的数组。用for/yield
object yield_convert {
def main(args: Array[String]): Unit = {
val s = Array(4, 5, 6, 7, 8)
val result = {
for(i <- 0 until s.length)yield {
if (i % 2 == 0 & i < s.length-1){/*当i为偶数时进行转换,当i为奇数时,直接将原数组元素复制给新数组*/
val t = s(i)
s(i) = s(i+1)
s(i+1) = t
}
s(i)
}
}
result.foreach(println)
}
}
3.4 给定一个整数数组,产出一个新的数组,包含数组中的所有正值,以原有顺序排列,自后的元素是所有零或负值,以原有序列排列
import scala.collection.mutable.ArrayBuffer
object positive_negative {
def main(args: Array[String]): Unit = {
val s = Array(3,5,-2,0,6,7,8)
val a = new ArrayBuffer[Int]()
a ++= (for(i <- s if i>0)yield i)
a ++= (for(i <- s if i<= 0)yield i)
a.foreach(println)
}
}
其他题目即可按照(我是一个粉刷匠)博主的文章学习:http://www.cnblogs.com/yiruparadise/p/5519649.html
问题:
1. java.util.TimeZone.getAvailableIDs
2.java.awt.datatransfer

浙公网安备 33010602011771号