Day8 メソッド・練習問題と解答解説
Day8 で学んだ メソッド・引数・戻り値・オーバーロード をしっかり定着させるための練習問題と、 初心者でも理解しやすい丁寧な解答・解説をまとめています。 メソッドは「処理をひとまとめにして再利用する」ための最重要機能ですので、ぜひじっくり取り組んでください。
メソッドの基本を確認する
問題:画面に「Hello, Method!」と表示するメソッド ShowMessage を作り、呼び出してください。
解答と解説
void ShowMessage()
{
Console.WriteLine("Hello, Method!");
}
ShowMessage();
C#メソッドは 処理をひとまとめにする箱 です。 ShowMessage() のように名前をつけておけば、必要なときに何度でも呼び出せます。
ここで重要なのは、 戻り値がない場合は void を使う という点です。
引数の理解を確認する
問題:名前を受け取り「〇〇さん、こんにちは!」と表示するメソッド Greet を作り、Greet(“Taro”) を呼び出してください。
解答と解説
void Greet(string name)
{
Console.WriteLine(name + "さん、こんにちは!");
}
Greet("Taro");
C#引数は メソッドに値を渡すための仕組み です。 name に “Taro” が渡されることで、メソッド内でその値を使えます。
戻り値の理解を確認する
問題:2つの整数を受け取り、その合計を返すメソッド Add を作ってください。Add(3, 5) の結果を表示してください。
解答と解説
int Add(int a, int b)
{
return a + b;
}
Console.WriteLine(Add(3, 5)); // 8
C#戻り値は メソッドが計算した結果を返す仕組み です。 戻り値の型(int)は return の型と一致している必要があります。
オーバーロードの理解を確認する
問題:Add メソッドをオーバーロードして、① int 型2つの合計 ② double 型2つの合計 を返せるようにしてください。
解答と解説
int Add(int a, int b)
{
return a + b;
}
double Add(double a, double b)
{
return a + b;
}
Console.WriteLine(Add(3, 5)); // int版 → 8
Console.WriteLine(Add(2.5, 4.1)); // double版 → 6.6
C#オーバーロードは 同じ名前のメソッドを引数違いで複数作れる機能 です。 AddInt、AddDouble のように名前を分ける必要がなくなり、 自然な名前のまま処理を拡張できます。
応用問題:四則演算メソッド
問題:Add(足し算)、Sub(引き算)、Mul(掛け算)、Div(割り算)の4つのメソッドを作り、 それぞれを呼び出して結果を表示してください。
解答と解説
int Add(int a, int b)
{
return a + b;
}
int Sub(int a, int b)
{
return a - b;
}
int Mul(int a, int b)
{
return a * b;
}
double Div(int a, int b)
{
return (double)a / b;
}
Console.WriteLine(Add(10, 3));
Console.WriteLine(Sub(10, 3));
Console.WriteLine(Mul(10, 3));
Console.WriteLine(Div(10, 3));
C#割り算は double 型で返す のが重要です。 整数同士の割り算は小数点が切り捨てられるため、 必ずキャストして小数として計算します。
応用問題:最大値を返すメソッド
問題:2つの整数のうち大きい方を返すメソッド Max を作り、 Max(10, 3) の結果を表示してください。
解答と解説
int Max(int a, int b)
{
if (a > b)
return a;
else
return b;
}
Console.WriteLine(Max(10, 3)); // 10
C#最大値メソッドは「比較 → 大きい方を返す」というシンプルな構造ですが、 この“判断をひとまとめにする”ことがメソッドの本質です。
応用問題:オーバーロードで最大値を返す
問題:Max メソッドをオーバーロードして、 3つの整数の最大値を返せるようにしてください。
解答と解説
int Max(int a, int b)
{
return a > b ? a : b;
}
int Max(int a, int b, int c)
{
int temp = Max(a, b);
return Max(temp, c);
}
Console.WriteLine(Max(10, 3, 7)); // 10
C#ここで重要なのは、 Max を自分自身の中で再利用している という点です。
メソッドは「処理を部品化する」ため、 このように組み合わせることで強力な機能になります。
Day8 練習問題まとめ
Day8 の練習問題では、次のポイントを確認しました。
メソッドは「処理の部品」 引数は「値を渡す仕組み」 戻り値は「結果を返す仕組み」 オーバーロードは「同じ名前で複数のメソッドを作れる」
