2017-09-12 6 views
0
def guessing_game():Unit = { 
    println("Welcome to the guessing game!!") 

    val guess_count:Int = 0 
    val answer = Random.nextInt(50) 
    var guess_num = scala.io.StdIn.readLine("Input your guess number > ").toInt 

    while(guess_num != answer || guess_count < 5){ 

====> guess_count += 1 // <============================== 

     var situation = if(guess_num > answer){"Your guess is higher!"}else{"Your guess is lower!"} 
     println(situation) 
     guess_num = scala.io.StdIn.readLine("Input your guess number > ").toInt 
    } 
    if(guess_num == answer){ 
     println("Congratulation....You win!!") 
    }else{ 
     println("You hav run out of guess!") 
    } 

それは言う: エラー:(16、25)値+ =レシーバが割り当て可能でないため、割り当てに変換しないのInt 式のメンバーではありません。 guess_count.toInt + = 1なぜ私はscalaでインクリメントできませんか?

答えて

3

guess_count、不変である(val)、あなたはそれを変更することはできません。変数を変更する必要がある場合は、varを使用してください。

+0

ありがとうございます! 作品 –

0

あなたはスケーラでインクリメントすることができますが、間違って最終変数に値を代入しているので、エラーが発生しているので、以下のように宣言を変更してください

var guess_count:Int = 0

おかげ

関連する問題