
Scala
norhtstorm
这个作者很懒,什么都没留下…
展开
-
《快学Scala》习题详解 第9章 文件和正则
1 编写一段scala代码,将某个文件的行倒转顺序 var source = Source.fromFile("C:/my.ini") val arr = source.getLines.toArray val out = new PrintWriter("c:/my.ini") for (i <- (0 until arr.length).reverse) out.println(原创 2017-03-17 20:53:26 · 481 阅读 · 0 评论 -
《快学Scala》习题详解 第8章 继承
1 扩展如下的BankAccount类,新类CheckingAccount对每次存款和取款都收取1美元的手续费 class BankAccount(initialBalance:Double){ private var balance = initialBalance def deposit(amount:Double) = { balance += amount; balance} def原创 2017-03-17 13:08:28 · 719 阅读 · 1 评论 -
《快学Scala》习题详解 第7章 包
1 编写示例程序,展示为什么package com.horstmann.impatient 不同于package com package horstmann package impatient package a.b.c { //串联式包语句 object cat { //一旦使用串联式语句,父包内容不可见 dog.toString() fa.toS原创 2017-03-16 21:27:31 · 368 阅读 · 0 评论 -
《快学Scala》习题详解 第6章 对象
1 编写一个Conversions对象,加入inchesToCentimeters,gallonsToLiters和milesToKilometers方法 object Conversions { def inchToCen(x: Double) { println(x * 2.54) } def gallToLiter(x: Double) { println(x * 3.8) } d原创 2017-03-16 16:07:15 · 437 阅读 · 0 评论 -
《快学Scala》习题详解 第5章 类
1 改进Counter类,让它不要在大于Int.maxValue时变为负数 增加一个判断语句 private var value = 0 def increment() { if (value < Int.MaxValue) value += 1 } def current() = value2 写一个BankAccount类,加入deposit和withdraw方法,和一个只读的bal原创 2017-03-16 11:29:19 · 533 阅读 · 0 评论 -
《快学Scala》习题详解 第4章 映射和元组
1 设置一个映射,其中包含你想要的一些装备,以及它们的价格。然后构建另一个映射,采用同一组键,但是价格上打9折 //默认不可变映射 val map = Map("Zeus" -> 10, "KKK" -> 3, "King" -> 0) val map2 = for ((k, v) <- map) yield (k, v * 0.9) for ((k, v) <- ma原创 2017-03-15 21:32:40 · 359 阅读 · 0 评论 -
《快学Scala》习题详解 第3章 数组
1 编写一段代码,将a设置为n个随机整数的数组,要求随机数位于[0,n)之间 //创建数组,[Int]显示指定数组的类型,new创建长为10的数组 //如果不使用new,创建只有一个元素10,类型为Int的数组 val arr = new Array[Int](10) for (i <- 0 until arr.length) arr(i) = util.Rando原创 2017-03-15 19:30:48 · 1029 阅读 · 0 评论 -
《快学Scala》习题详解 第2章 控制结构和函数
1 如果一个数字为正数,则它的signum为1;如果是负数,则signum为-1;如果是0,则signum是0 def f(x: Int): Int = { // 如果f不是递归,可以省略:Int,=会自动进行类型推断 // =用来接收返回值, 不需要返回值时,不用= // 如果没有=,println()将打印() if (x > 0) 1原创 2017-03-15 14:57:54 · 695 阅读 · 0 评论 -
《快学Scala》习题详解 第12章 高阶函数
1 编写函数values(fun: (Int) => Int, low: Int, high: Int),该函数输出一个集合,对应给定区间内给定函数的输入和输出。比如,values(x => x * x, -5, 5)应该产出一个对偶的集合(-5, 25), (-4, 16), (-3, 9), …, (5, 25) var arr = ArrayBuffer[(Int, Int)]() d原创 2017-03-18 19:57:41 · 821 阅读 · 0 评论 -
《快学Scala》习题详解 第11章 操作符
1 根据优先级规则,3 + 4 -> 5和3 -> 4 + 5是如何被求值的?scala> 3+4 -> 5res0: (Int, Int) = (7,5)//构成了元组scala> 3->4+5<console>:12: error: type mismatch; found : Int(5) required: String 3->4+5 ^scala转载 2017-03-18 15:57:13 · 481 阅读 · 0 评论 -
《快学Scala》习题详解 第10章 特质
1 java.awt.Rectangle类有两个很有用的方法translate和grow,但可惜的是像java.awt.geom.Ellipse2D这样的类没有。在Scala中,你可以解决掉这个问题。定义一个RenctangleLike特质,加入具体的translate和grow方法。提供任何你需要用来实现的抽象方法,以便你可以像如下代码这样混入该特质:val egg = new java.awt转载 2017-03-18 13:39:43 · 585 阅读 · 0 评论 -
《快学scala》习题详解 第1章 基础
1 输入3不会按Tab没反应,加了.就有了2 对3开方再乘方 scala> import math._import math._scala> math.sqrt(3)res0: Double = 1.7320508075688772scala> math.pow(res0,2)res1: Double = 2.99999999999999963 通过赋值,产生错误,因此是varscal原创 2017-03-14 20:05:07 · 1870 阅读 · 0 评论