- 浏览: 13217 次
- 性别:
- 来自: 南京
文章分类
最新评论
原有代码,其中使用了while循环和var
/**
* 模版方法
* 玩游戏,从控制台读入
*/
def play(): Unit = {
println(s"当前积分为$score,请输入您本次游戏的筹码,0退出本游戏")
var point = io.StdIn.readDouble()
while (point != 0) {
check(point)
println(s"当前积分为$score,请输入您本次游戏的筹码,0退出本游戏")
point = io.StdIn.readDouble()
}
println("感谢您的使用,下次再见")
}
重构1:
使用do while可以使得println的次数少一次
var point = 0.0
do {
println(s"当前积分为$score,请输入您本次游戏的筹码,0退出本游戏")
point = io.StdIn.readDouble()
check(point)
} while (point != 0)
重构2:
/**
* 模版方法
* 玩游戏,从控制台读入
*/
def play(): Unit = {
println(s"当前积分为$score,请输入您本次游戏的筹码,0退出本游戏")
val point = io.StdIn.readDouble()
check(point)
if (point != 0) play() else println("感谢您的使用,下次再见")
}
可以使用递归
/**
* 模版方法
* 玩游戏,从控制台读入
*/
def play(): Unit = {
println(s"当前积分为$score,请输入您本次游戏的筹码,0退出本游戏")
var point = io.StdIn.readDouble()
while (point != 0) {
check(point)
println(s"当前积分为$score,请输入您本次游戏的筹码,0退出本游戏")
point = io.StdIn.readDouble()
}
println("感谢您的使用,下次再见")
}
重构1:
使用do while可以使得println的次数少一次
var point = 0.0
do {
println(s"当前积分为$score,请输入您本次游戏的筹码,0退出本游戏")
point = io.StdIn.readDouble()
check(point)
} while (point != 0)
重构2:
/**
* 模版方法
* 玩游戏,从控制台读入
*/
def play(): Unit = {
println(s"当前积分为$score,请输入您本次游戏的筹码,0退出本游戏")
val point = io.StdIn.readDouble()
check(point)
if (point != 0) play() else println("感谢您的使用,下次再见")
}
可以使用递归
发表评论
-
linux mongodb3安装
2015-10-29 15:33 261http://blog.csdn.net/cjuexuan/a ... -
再探设计模式之观察者模式(股票通知系统)
2015-09-05 10:28 498package com.linewell.modeldesig ... -
再探设计模式之状态模式(纸牌游戏的开发)
2015-09-04 13:52 537状态模式主要用于检测和切换状态,在状态模式下状态的转化对于客户 ... -
再探设计模式之访问者模式
2015-09-03 14:44 481访问者模式的使用条件比较苛刻主要可以以用于新增访问者时只需要 ... -
scala实现访问者模式
2015-09-02 20:54 376package com.linewell.modeldesgi ... -
scala实现模版方法模式
2015-09-02 20:54 416package com.linewell.modeldesgi ... -
scala实现状态模式
2015-09-02 16:37 386package com.linewell.modeldesgi ... -
scala实现观察者模式
2015-09-02 16:35 589package com.linewell.modeldesgi ... -
scala实现迭代器模式
2015-09-01 22:56 465package com.linewell.modeldesgi ... -
scala实现备忘录模式
2015-09-01 22:54 341package com.linewell.modeldesgi ... -
scala实现中介者模式
2015-09-01 14:48 286package com.linewell.modeldesgi ... -
scala实现解释器模式
2015-08-31 20:20 316本来是看解释器模式,但感觉scala的实现的流利接口可以更优雅 ... -
scala实现命令模式
2015-08-30 21:20 269package com.linewell.modeldesgi ... -
scala实现职责链模式
2015-08-30 13:38 304package com.linewell.modeldesgi ... -
scala实现享元模式
2015-08-30 00:17 336package com.linewell.modeldesgi ... -
scala实现代理模式
2015-08-30 00:16 488package com.linewell.modeldesgi ... -
scala实现外观模式
2015-08-28 21:41 311package com.linewell.modeldesgi ... -
scala实现装饰者模式
2015-08-16 19:52 395package com.linewell.modeldesgi ... -
scala实现组合模式
2015-08-16 11:14 834package com.linewell.modeldesgi ... -
scala实现桥接模式
2015-08-16 11:13 311package com.linewell.modeldesgi ...
相关推荐
Scala实用程序以递归方式遍历和转换JSON,如由列表和地图构成的树形结构 安装 没有Maven文物发布的喷气机。 添加此项目的一种方法是将直接依赖项添加到构建文件中的github存储库中 build.sbt: lazy val p = ...
wartremover, 灵活的Scala 代码linting工具 WartRemover WartRemover是一个灵活的Scala 代码linting工具。文档这里有关于Wartremover的文档,请参考这里。报告问题通过 Scala 编译器扩展树是非常有用的,而不是原始...
scala的小例子一个简单的例子有一点小帮助
Scala程序设计 例子 源代码 Scala程序设计 例子 源代码 Scala程序设计 例子 源代码
scalariform 是一个用来格式化 Scala 代码的 Eclipse 插件。 同时也提供了各种编辑器插件、命令行工具和开发包 标签:scalariform
scala:scala代码
用Scala编写的简单工具,揭示了Scala编译器的奥秘。 从StdIn读取scala代码,并将其反编译的Java版本写入StdOut。 用法 确保您已安装Java 1.8和Maven 检出项目 在项目目录中调用mvn clean package 。 在目标目录中...
用500行scala代码实现SQL解析器的英文版论文,看scala强悍的算法设计。
scala代码片段,用于初学者学习scala练习
差分进化算法的Scala实现_Scala_代码_下载
本资源采用scala代码来实现textTank,进行文本关键词的提取。
Scala代码积累之spark streaming kafka 数据存入到hive源码实例,Scala代码积累之spark streaming kafka 数据存入到hive源码实例。
Scala简介&快速入门 基础语法 变量 数据类型 流程控制 操作符重载 模式匹配 函数式编程基础 函数式编程说明 函数定义/声明 函数运行机制 递归 函数注意事项和细节 过程 惰性函数和异常 面向对象编程初级...
flinkDemo完整代码scala版,包含TableApi,Flink Sql,DataStream ,socket、kafka、mysql数据源,
一个“原子”即为一个小型知识点,通过代码示例引导读者逐步领悟Scala的要义,结合练习鼓励读者在实践中读懂并写出地道的Scala代码。访问可下载练习解答和代码示例,还可了解本书英文版的实时动态。本书无需编程背景...
Scala-ts – Scala至TypeScript的代码生成器
该文档是本人对实时流数据分析的scala代码的详细解析,具有一定RDD了解,scala基础
《Scala实用指南》代码清单(包含 SBT 版本(切到sbt分支))
此代码包含spark-core代码,spark-sql代码以及spark-streaming代码