TopCoder is good for praticing your coding skills. There are many rooms in which there are three problems to solve with increasing difficulty. Each problem has problem statements, cases, case's answers with detailed description. Most of all, you can view other's code, which may help you a lot. Now I use TopCoder to pratice and the Java code is publicly open.
The source code is put in the folder TopCoder
package cn.yanghao.topCoder.${room}${roomNum}
.java every java source code will contains the problem description, follows which are the source code