《快学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