package Ġcom . github . deb op . jav at imes Ċ Ċ /** Ċ Ġ* Ġë¶Ħ ê¸° ( Qu arter ) Ġë ¥ ¼ ĠëĤĺ íĥĢ ëĤ´ ëĬĶ Ġenum Ġclass Ġìŀħ ëĭĪëĭ¤ . Ċ Ġ* Ċ Ġ* Ġ@ autor Ġdeb op Ċ Ġ* Ġ@ since Ġ 1 8 . Ġ 4 . Ġ 1 9 Ċ Ġ*/ Ċ enum Ġclass ĠQu arter ( val Ġvalue : ĠInt ) Ġ{ ĊĊĠĠĠ ĠFIRST ( 1 ), ĠSE COND ( 2 ), ĠTH IRD ( 3 ), ĠFO UR TH ( 4 ); ĊĊĠĠĠ Ġoperator Ġfun Ġplus ( delta : ĠInt ): ĠQu arter Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġdelta Ġ% Ġ 4 ĊĠĠĠĠĠĠĠ Ġreturn Ġquarter Array [( ordinal Ġ+ Ġ( amount Ġ+ ĠQu ar ters Per Year )) Ġ% ĠQu ar ters Per Year ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġmonths : ĠInt Array ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġwhen ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFIRST Ġ Ġ-> ĠFirst Qu arter Months ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSE COND Ġ-> ĠSecond Qu arter Months ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTH IRD Ġ Ġ-> ĠThird Qu arter Months ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFO UR TH Ġ-> ĠFour th Qu arter Months ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġstart Month : ĠInt Ġ= Ġthis . ordinal Ġ* ĠMonth s Per Qu arter Ġ+ Ġ 1 ĊĠĠĠ Ġval Ġend Month : ĠInt Ġ= Ġvalue Ġ* ĠMonth s Per Qu arter ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static Ġprivate Ġval Ġquarter Array : ĠArray < Qu arter > Ġ= ĠQu arter . values () ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġof ( q : ĠInt ): ĠQu arter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( q Ġin Ġ 1 .. 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġquarter Array [ q Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Invalid Ġq Ġfor ĠQu arter . Ġneed Ġ 1 .. 4 , Ġq =$ q ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġof Month ( month OfYear : ĠInt ): ĠQu arter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġquarter Array [( month OfYear Ġ- Ġ 1 ) Ġ/ ĠMonth s Per Qu arter ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }