《快学Scala》第六章习题解答
2016-05-15 00:11
211 查看
RT。
package com.scalalearn.scala.main
/**
* 快学scala 06习题
*/
//1.编写一个Conversions对象,加入inchesToCentimeters,gallonsToLiters和milesToKilometers方法
object Conversions{
def inchesToCentimeters(input:BigInt):BigInt={
//省略...
input
}
def gallonsToLiters(input:BigInt):BigInt={
//省略...
input
}
def milesToKilometers(input:BigInt):BigInt={
//省略...
input
}
}
//2.前一个不是很面向对象,提供一个通用的超类UnitConversion并定义超类的InchesToCentimeters,GallonsToLiters和MilesToKilometers对象
abstract class UnitConversion{
def transform(input:BigInt):BigInt;
}
object InchesToCentimeters extends UnitConversion{
def transform(input:BigInt):BigInt = {
//省略...
input
}
}
object GallonsToLiters extends UnitConversion{
def transform(input:BigInt):BigInt = {
//省略...
input
}
}
object MilesToKilometers extends UnitConversion{
def transform(input:BigInt):BigInt = {
//省略...
input
}
}
//4.定义一个Point类和一个伴生对象,使得我们不用new而是直接用Point(3,4)来构造Point实例
class Point(px:Int,py:Int){
var x:Int = 0
var y:Int = 0
x = px
y = py
}
object Point{
def apply(px:Int,py:Int):Unit = {
new Point(px,py)
}
}
//6.用一个枚举扑克牌的四种花色
class PokerCard{}
object PokerCard extends Enumeration{
val HEART = Value(0)
val SPADE = Value(1)
val CLUB = Value(2)
val DIAMOND = Value(3)
}
//8.用枚举描述RGB立方体的8个角,ID用色值表示
object RGBCube extends Enumeration{
//我这里就不真的对应色值了;就上4个角和下4个角分别定义一下
val top1 = Value(0)
val top2 = Value(1)
val top3 = Value(2)
val top4 = Value(3)
val bottom1 = Value(4)
val bottom2 = Value(5)
val bottom3 = Value(6)
val bottom4 = Value(7)
}
object LearnScala06 {
//7.写一个检测扑克牌花色是否为红色的函数
def checkColor(pokerCard:PokerCard.Value):Boolean = {
if(pokerCard == PokerCard.HEART || pokerCard == PokerCard.DIAMOND){
true
}else{
false
}
}
def main(args:Array[String]):Unit = {
println("================execise6==================")
val point = Point(3,4)
println("================execise7==================")
println(LearnScala06.checkColor(PokerCard.HEART))
}
}
package com.scalalearn.scala.main
/**
* 快学scala 06习题
*/
//1.编写一个Conversions对象,加入inchesToCentimeters,gallonsToLiters和milesToKilometers方法
object Conversions{
def inchesToCentimeters(input:BigInt):BigInt={
//省略...
input
}
def gallonsToLiters(input:BigInt):BigInt={
//省略...
input
}
def milesToKilometers(input:BigInt):BigInt={
//省略...
input
}
}
//2.前一个不是很面向对象,提供一个通用的超类UnitConversion并定义超类的InchesToCentimeters,GallonsToLiters和MilesToKilometers对象
abstract class UnitConversion{
def transform(input:BigInt):BigInt;
}
object InchesToCentimeters extends UnitConversion{
def transform(input:BigInt):BigInt = {
//省略...
input
}
}
object GallonsToLiters extends UnitConversion{
def transform(input:BigInt):BigInt = {
//省略...
input
}
}
object MilesToKilometers extends UnitConversion{
def transform(input:BigInt):BigInt = {
//省略...
input
}
}
//4.定义一个Point类和一个伴生对象,使得我们不用new而是直接用Point(3,4)来构造Point实例
class Point(px:Int,py:Int){
var x:Int = 0
var y:Int = 0
x = px
y = py
}
object Point{
def apply(px:Int,py:Int):Unit = {
new Point(px,py)
}
}
//6.用一个枚举扑克牌的四种花色
class PokerCard{}
object PokerCard extends Enumeration{
val HEART = Value(0)
val SPADE = Value(1)
val CLUB = Value(2)
val DIAMOND = Value(3)
}
//8.用枚举描述RGB立方体的8个角,ID用色值表示
object RGBCube extends Enumeration{
//我这里就不真的对应色值了;就上4个角和下4个角分别定义一下
val top1 = Value(0)
val top2 = Value(1)
val top3 = Value(2)
val top4 = Value(3)
val bottom1 = Value(4)
val bottom2 = Value(5)
val bottom3 = Value(6)
val bottom4 = Value(7)
}
object LearnScala06 {
//7.写一个检测扑克牌花色是否为红色的函数
def checkColor(pokerCard:PokerCard.Value):Boolean = {
if(pokerCard == PokerCard.HEART || pokerCard == PokerCard.DIAMOND){
true
}else{
false
}
}
def main(args:Array[String]):Unit = {
println("================execise6==================")
val point = Point(3,4)
println("================execise7==================")
println(LearnScala06.checkColor(PokerCard.HEART))
}
}
相关文章推荐
- fragment来回切换导致crash IllegalStateException No activity moveToState
- 创建github账号并上传项目到github
- java-水仙花数
- 小代码
- OdroidXu4开发环境搭建
- CSS课堂交流区问题汇总
- 旅游软件中关于自由行功能的对比(未完待续)
- 实习两个月
- 面向对象思维之反射
- mysql数据字典
- android Json解析详解(详细代码)
- 快速排序及三向切分快速排序
- AndroidEventBus-注解版
- Tomcat探秘(1):Tomcat是什么?
- javascript 中$符号是代表什么意思!
- Java单例设计模式(三)
- Leetcode 3. Longest Substring Without Repeating Characters解题报告
- Java Proxy类深度探究
- 应用在华为P9手机上安装失败原因分析 (错误码:-110)
- 信息管理系统.0