《快学Scala》第一版第三章练习

系列文章目录

《快学Scala》第一版第一章练习

《快学Scala》第一版第二章练习

《快学Scala》第一版第三章练习


前言

这学期开了《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,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江鸟2002

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值