さあ、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:コピペだけの手抜き記事ですという意味