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アクセスをやります。