package Ġobserver Ċ Ċ class ĠHe at Index Display ( ĊĠĠĠ Ġprivate Ġval Ġweather Data : ĠWeather Data Ċ ): ĠObserver < Weather Data Values >, ĠDisplay Element Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġtemperature Ġ= Ġ 0 f ĊĠĠĠ Ġprivate Ġvar Ġhum idity Ġ= Ġ 0 f ĊĊĠĠĠ Ġinit Ġ{ Ġweather Data . register Observer ( this ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( data : ĠWeather Data Values ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . temperature Ġ= Ġdata . temperature ĊĠĠĠĠĠĠĠ Ġthis . humidity Ġ= Ġdata . humidity ĊĠĠĠĠĠĠĠ Ġdisplay () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisplay () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Heat Ġindex Ġis : Ġ${ get Heat Index () }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Heat Index (): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġt Ġ= Ġtemperature ĊĠĠĠĠĠĠĠ Ġval Ġt Pow 2 Ġ= Ġt Ġ* Ġt ĊĠĠĠĠĠĠĠ Ġval Ġt Pow 3 Ġ= Ġt Pow 2 Ġ* Ġt ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= Ġhum idity ĊĠĠĠĠĠĠĠ Ġval Ġh Pow 2 Ġ= Ġh Ġ* Ġh ĊĠĠĠĠĠĠĠ Ġval Ġh Pow 3 Ġ= Ġh Pow 2 Ġ* Ġh ĊĊĠĠĠĠĠĠĠ Ġval Ġheat Index Ġ= Ġ 1 6 . 9 2 3 Ġ+ Ġ 1 . 8 5 2 1 2 Ġ* Ġ 0 . 1 Ġ* Ġt Ġ+ Ġ 5 . 3 7 9 4 1 Ġ* Ġh Ġ- Ġ 1 . 0 0 2 5 4 Ġ* Ġ 0 . 1 Ġ* Ġt Ġ* Ġh Ġ+ Ġ 9 . 4 1 6 9 5 Ġ* Ġ 0 . 0 0 1 Ġ* Ġt Pow 2 Ġ+ Ġ 7 . 2 8 8 9 8 Ġ* Ġ 0 . 0 0 1 Ġ* Ġh Pow 2 Ġ+ Ġ 3 . 4 5 3 7 2 Ġ* Ġ 0 . 0 0 0 1 Ġ* Ġt Pow 2 Ġ* Ġh Ġ- Ġ 8 . 1 4 9 7 1 Ġ* Ġ 0 . 0 0 0 1 Ġ* Ġt Ġ* Ġh Pow 2 Ġ+ Ġ 1 . 0 2 1 0 2 Ġ* Ġ 0 . 0 0 0 0 1 Ġ* Ġt Pow 2 Ġ* Ġh Pow 2 Ġ- Ġ 3 . 8 6 4 6 Ġ* Ġ 0 . 0 0 0 0 1 Ġ* Ġt Pow 3 Ġ+ Ġ 2 . 9 1 5 8 3 Ġ* Ġ 0 . 0 0 0 0 1 Ġ* Ġh Pow 3 Ġ+ Ġ 1 . 4 2 7 2 1 Ġ* Ġ 0 . 0 0 0 0 0 1 Ġ* Ġt Pow 3 Ġ* Ġh Ġ+ Ġ 1 . 9 7 4 8 3 Ġ* Ġ 0 . 0 0 0 0 0 0 1 Ġ* Ġt Ġ* Ġh Pow 3 Ġ- Ġ 2 . 1 8 4 2 9 Ġ* Ġ 0 . 0 0 0 0 0 0 0 1 Ġ* Ġt Pow 3 Ġ* Ġh Pow 2 Ġ+ Ġ 8 . 4 3 2 9 6 Ġ* Ġ 0 . 0 0 0 0 0 0 0 0 0 1 Ġ* Ġt Pow 2 Ġ* Ġh Pow 3 Ġ- Ġ 4 . 8 1 9 7 5 Ġ* Ġ 0 . 0 0 0 0 0 0 0 0 0 0 1 Ġ* Ġt Pow 3 Ġ* Ġh Pow 3 ĊĠĠĠĠĠĠĠ Ġreturn Ġheat Index . toFloat () ĊĠĠĠ Ġ} Ċ }