java solution to problem 2