Java Term Project