Kotlin

プログラミング勉強中の人間がサイコロ触れるチャットツールを作りたい話【2日目】

More than 1 year has passed since last update.

初回:自己紹介とチャットアプリの仕様
前回:Vagrantの設定からkotlinインストール

前回まででkotlinのセットアップが終わったので、
今回は簡単な関数の練習から6面サイコロ二つをふり、二つの値と合計値を表示する関数を作ってみようと思います。

今回の目標

・var、valの違い
・import の使い方

Hello,Worldを書き換えて簡単な式を書いてみよう

前回書いた、元となるプログラムがこちら

Hello.kt
fun main(ages: Array<string>){
  printIn("Hello,world")
}

今回は、これをコピーしてtest.ktとしてプログラムを書いてみようと思う。

var,valの違い

kotlinでは数を宣言するときに2種類の宣言のやり方があります。

var x=1  //宣言した後でも値が変更できる 
   x=x*1 //値は1

val y=1
     y=y*1 //エラーを吐く

関数内で値を変更する可能性がある場合はvarをしない場合はvalを使うといいですね。

import とランダムな数を生成する

test.kt
import java.util.Random
val random = Random()
fun main(args:Array<String>){
var x =Raundom.nextInt(6)
printIn("結果:$x")
}

このように出力すると0〜5の範囲で出力されるようです・・・
なので、xに+1をして1~6の範囲にしてしまいます。これでしっかりと1d6が振れるようになったので、
下に変数yとしてコピペして完成させましょう。

test.kt
var x =Raundom.nextInt(6)
x=x+1
var y =Raundom.nextInt(6)
y=y+1
printIn("結果:[$x,$y]=${x+y}")

このように1を足せば1から6の数までのものが作れます。もっと効率のいい方法がある気がするので探しています。
変数名を使う時は、$変数と使うことで変数として認識してくれるようです。${変数+変数}という形はその場で式にして結果を出力する(x,yは変化しない)ので1回しか使わない出力などにおすすめです。

参考

Random(Java Platform SE8)

次回の目標

・「○○さんこんにちは」と出力するアプリケーションを作る。
・nDn(ex:1d100,3d10...)を出力する関数を作る。