ネストしたループ
CoddyのC#ジャーニー「基礎」セクションの一部 — レッスン 46/69。
入れ子になったループ(ネストされたループ)は、単に別のループの中にあるループのことです。内側のループは、外側のループの1回の反復ごとに、そのすべての反復を完了します。
これの良い例えは時計です。1時間(外側のループ)ごとに、長針(内側のループ)は60分のサイクルを完全に一周する必要があります。
入れ子になったループの例:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
Console.WriteLine(x + " " + y);
}
}
// 次のように出力されます:
// 0 0
// 0 1
// 1 0
// 1 1外側のループ (x) は2回実行され、その各回に対して内側のループ (y) が2回実行されます。つまり、内側のループの本体は合計4回実行されることになります。
入れ子になったループを扱う際、Console.Write() も必要になる場合があります。テキストを出力して新しい行に移動する Console.WriteLine() とは異なり、Console.Write() は末尾に改行を追加せずにテキストを出力します。これにより、同じ行に出力を構築できます:
for (int y = 0; y < 4; y++) {
Console.Write("* ");
}
Console.WriteLine();
// 次のように出力されます:
// * * * * ここでは、Console.Write() は同じ行に出力し続け、最後に Console.WriteLine() を実行すると次の行に移動します。
チャレンジ
初心者指定された幅(width)と高さ(height)でアスタリスク(*)の長方形を出力するプログラムを作成してください。
入力:2つの整数:width と height
例:
width = 5 かつ height = 3 の場合、出力は以下のようになります:
*****
*****
*****width = 4 かつ height = 6 の場合、出力は以下のようになります:
****
****
****
****
****
****自分で試してみよう
using System;
public class Program {
public static void Main(string[] args) {
int width = int.Parse(Console.ReadLine());
int height = int.Parse(Console.ReadLine());
// 以下にコードを記述してください
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。