bwin亚洲必赢5566手机版《快学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