11月7日(金)1、2コマ目
今日、やったこと
[練習問題]練習問題4
[練習問題 解説]練習問題4
[練習問題]練習問題5
[練習問題 解説]練習問題5
今日のホワイトボード
[練習問題 解説]練習問題4
正解例をあげておきます。
4-1
Cityクラスを作る。
City.cs
4-2
CityクラスのPopulationプロパティを表示する際、書式を指定して3ケタでカンマ区切りで出力。
$””の文字列に、{変数}で文字列中に変数の値を埋め込むことができる。
さらに、{変数:書式}で埋め込む際に書式の指定もできる。
![]() |
| 図 文字列中に書式指定をして変数を埋め込む |
Ex4_2.cs
4-3
配列citiesの要素は決まっているので、初期化で一気に代入。
Ex4_3.cs
4-4
配列中の最大値、最小値を探す問題。
Ex4_4.cs
[練習問題 解説]練習問題5
正解例をあげておきます。
5-1
Employeeクラスをつくるだけ。
Employee.cs
5-2
基本給の最大値、最小値を探す。
基本給は重複しないを前提としてよしなので、らくちん。
Ex5_2.cs
5-3
基本給の降順でソート。
これくらいの要素数ならバブルソートで十分。
Ex5_3.cs
5-4
Divisionクラスをつくるだけ。
Division.cs
5-5
5-4でのDivisionクラス追加に伴い、Employeeクラスを改造。
ここでは5-1で作成したEmployeeクラスをそのまま残すため、Employee2クラスとして作成。
Emplyee2.cs
5-6
5-5で作成したEmployee2クラスを使って全従業員の配列を作成。
各従業員(Employee2クラス)の部署情報(Divisionプロパティ)には、Divisionクラスのインスタンスを代入する。
部署と従業員の関係は 1対多。
同じ部署の従業員が同じDivisionクラスのインスタンスを参照しても、問題ないため、Divisionクラスのインスタンスは1部署=1インスタンスのみ。
![]() |
| 図 インスタンスも1対多の関係に |
Ex5_6.cs
5-7
給与総額の最大値、最小値を探す。
ここでは、給与総額が同額になる場合も想定。
Ex5_7.cs
5-8
給与総額の昇順でソート。
でも、問題の結果は降順でソート。すいません。
Ex5_8.cs
5-9
EmployeeクラスにIsManager()メソッドを追加。
Employee3クラスとして作成。
Employee3.cs
Ex5_9.cs
文字列補完の{ }内で3項演算子を使っている。
3項演算子の出力に、文字列を指定しているが、以下だとコンパイルエラー
$" ・・{emp.IsManager() ? "管理職" : "管理職ではない"}"
※文字列の””内にさらに""があるため。
3項演算子全体を()でくくると先に処理されるため、エラーにはならない。
$" ・・{(emp.IsManager() ? "管理職" : "管理職ではない")}"
次回は
テストをします。
DBアクセスをやります。

