`
cjuexuan
  • 浏览: 13217 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

scala代码重构(用递归代替var和while)

 
阅读更多
原有代码,其中使用了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("感谢您的使用,下次再见")

    }

可以使用递归
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics