3.1 scala 实现0(包含)到n(不含n)的随机数
import scala.util.Random object quic_scala_ch3_1{ def createRandomNumber(n:Int):Unit = { val rand = new Random() val arr = new Array[Int](n) for (i <- arr ) println(rand.nextInt(n)) } def main(args: Array[String]): Unit = { createRandomNumber(10) } }
3.2 交换相邻元素
import scala.util.Random
def exchangeNeighborElement(n:Array[Int]):Unit = {
for (i <- 0 until (n.length-1, 2)){
val tmp = n(i)
n(i) = n(i+1)
n(i+1) = tmp
}
}
def main(args: Array[String]): Unit
=
{
val arr = Array(10,9,8,7,6)
exchangeNeighborElement(arr)
arr.foreach(print)
}
}
3.3 for/yield 实现3.2
import scala.util.Random
object quic_scala_ch3_1{
def exchangeNeighborElement(n:Array[Int]):Unit = {
for (i <- 0 until (n.length-1, 2)) yield {
val tmp = n(i)
n(i) = n(i+1)
n(i+1) = tmp
}
}
def main(args: Array[String]): Unit
=
{
val arr = Array(10,9,8,7,6)
exchangeNeighborElement(arr)
arr.foreach(print)
}
}
3.4 数组排序,正数-0-负数
import scala.collection.mutable.ArrayBuffer import scala.util.Random object quic_scala_ch3_1{ def sort(n:Array[Int]):Unit = { val b = new ArrayBuffer[Int](n.length) b ++= (for (i<- n if i >0) yield i) b ++= (for (i<-n if i == 0) yield i) b ++= (for (i<-n if i < 0) yield i) } def main(args: Array[String]): Unit = { val arr = Array(-10,9,-8,7,6,0,-3,0) sort(arr) arr.foreach(println) } }
3.5 计算Array[Double]的平均值
import scala.collection.mutable.ArrayBuffer import scala.util.Random object quic_scala_ch3_1{ def sort(n:Array[Double]):Double = { var a = 0.0 for (i <- n){ a += i } val mean_n = 1.0*a/(n.length) return mean_n } def main(args: Array[String]): Unit = { val arr = Array(-10.2,9,-8,7,6,0,-3,0) val mean_n = sort(arr) println(mean_n) } }
3.6 Array[Int] 和ArrayBuffer[Int]反序排列
object quic_scala_ch3_1{ def sort(n:Array[Int]):Array[Int] = { val arr = new Array[Int](n.length) for (i <- 0 until n.length){ arr(i) = n((n.length)-1-i) } return arr } def main(args: Array[String]): Unit = { val arr = Array(-10,9,-8,7,6,0,-3,0) val reverArr = sort(arr) reverArr.foreach(println) } }
import scala.collection.mutable.ArrayBuffer object quic_scala_ch3_1{ def sort(n:ArrayBuffer[Int]):ArrayBuffer[Int] = { return n.reverse } def main(args: Array[String]): Unit = { val arr = ArrayBuffer(-10,9,-8,7,6,0,-3,0) val arr_buffer = sort(arr) arr_buffer.foreach(println) } }
3.7 去掉数组重复项
object quic_scala_ch3_1{ def delDup(n:Array[Int]):Array[Int] = { return n.toSet.toArray } def main(args: Array[String]): Unit = { val arr = Array(-10,9,-8,7,6,0,-3,0) val arrDup = delDup(arr) arrDup.foreach(println) } }
3.8 数组缓冲,移除除第一个负数以外的所有负数
import scala.collection.mutable.ArrayBuffer object quic_scala_ch3_1{ def delEle(n:ArrayBuffer[Int]):ArrayBuffer[Int] = { val b = new ArrayBuffer[Int]() for (i <- 0 until n.length) { if (n(i) < 0) { b += i } } val b_re = b.reverse for (i<- 0 until (b_re.length-1)){ n.remove(b_re(i)) } return n } def main(args: Array[String]): Unit = { val arr = ArrayBuffer(-10,9,-8,7,6,0,-3,0) delEle(arr).foreach(println) } }