TRPLの数当てゲームをkotlinで
import java.util.Random
import java.util.Scanner
fun main(args:Array<String>){
val secret_number = Random().nextInt(99) + 0
println("秘密の数字は次の通り:${secret_number}")
println("数をあててごらん")
println("ほら予想を入力してね")
loop@while(true){
println("in")
val s = Scanner(System.`in`)
val guess = s.nextLine()
if (guess != null){
println("次のように予想しました${guess}")
try{
val n_guess = Integer.parseInt(guess)
when {
n_guess == secret_number -> {
println("正解")
break@loop
}
n_guess > secret_number -> println("おおきすぎる")
n_guess < secret_number -> println("ちいさすぎる")
}
}catch(e:Exception){
println(e.toString())
}
}
}
}
実はgradlew runで実行すると動かない。
ScannerのnextLineあたりでおかしくなる。もともとはreadLineだったんだけどそっちもだめ.
gradleとおさずに直接実行するとうまくうごく。
なんなんだろ。
kotlinはふつうにtry catch
maybeとかoptionとかeitherとかはなし
正直この程度しか書いてないとちょっと文法が変わったJavaという感想。