Haani Naz wrote:i'm currently learning java off the book head first java. its a great book but i'd like to be able to apply my knowledge by doing some pracs...
One possibility is to write some simple games: Naughts and crosses or Nim are generally fun, because in addition to the game itself, there's also a winning (or non-losing) strategy to consider. Others include Mastermind, Battleship or Hangman, where the game presentation itself is the main concern.
If you want to push the boat out a bit further, you could maybe try Blackjack, Craps or even Backgammon. The nice thing about them is that you can add a scorekeeper that keeps track of a player's money/chips, and write modules for things like throwing dice or dealing cards; they also have more complex rules that the program has to follow.
Whatever you decide, I'd say: stick to something that interests you.
Isn't it funny how there's always time and money enough to do it WRONG?