Programming Challenges in Java