読者です 読者をやめる 読者になる 読者になる

さあ、Uva を始めよう

Uva Advent Calendar 2 日目。
今日は Rosetta Code の題材を使ってほにゃららら*1

配列の宣言

100 の要素を持つ bool 型の配列、doors を用意します。

variable はこの変数が可変だという意味を持つアノテーションです。
variable を付けない場合、変数は値の再設定が認められません。

variable bool[] doors = new bool[]( 100 );

値の再設定が認められないということが、変数が指している参照のことなのか、実体のことなのかはまだ決まっていません。

for 文

Uva は C 言語風の for 文を使うことができません。
代わりに for-in 文を使うことができます。

for ( int i in 0..doors.length ) {
    doors[i] = false;
}

bool 型のデフォルト値は false なので、上記の false に初期化する処理は不要です。

for ( int i in 0..doors.length ) {
    for ( int j in 0..doors.length ) {
        if ( ( j + 1 ) % ( i + 1 ) == 0 ) {
            doors[j] = ! doors[i];
        }
    }
}

標準出力への出力 その 2

println()stdout.println()エイリアスです。

println( "Passes Completed!!! Here are the results" );
println();

また、文字列リテラルに変数の値を埋め込むことができます。

for ( int i in 0..doors.length ) {
    String status = doors[i] ? "Open" : "Closed";

    println( "Door #${d + 1} ${status}" );
}

(๑´ڡ`๑) おしまい

*1:コピペだけの手抜き記事ですという意味