発想

Javaアプレットで年間カレンダーを作ってたのだが、ある時「その月の最後の日は何日か」が必要になった。カレンダーオブジェクトのセットメソッドには、年月日をパラメータとして、正しい値がプライベートパラメータにセットされるのだが、「知りたい月の次の月の0日を取得すると知りたい月の最終日が取得できる」ということに友人が気づいた。俺は感動したし天才かと思った。俺は日をインクリメントして月が変わった時点で、次の月に以降というスタイルを取ろうと思ってたが友人のアイデアが超画期的に思えたので即友人の考えを採用したのだった。教授は「仮に8/32でセットした場合、9/1になる」と言ったので、それを聞いた俺は日の増加のみによって月末の判断が可能だと思ったが、なかなかスマートじゃないしってことで実装段階で悩んでた時にこれ。9/0をセットすることで8/31つまり知りたい月の最終日が取得できるのである。完全に教授の言い方から、値を増加させるという考えしか働かなかったし、そこでこのデクリメントさせるアイデアを出せるのは本当にスゴいと思った。