my codes for thinkinginjava