Hi Vivek,
Here is my experience with SCJP:
I only refered JLS when I had some serious doubt, otherwise I used to write small program to test it. I can't cram things, so if I want to understand some particular concept, I need to do programs on it.
"Do u need to be extra intelligent to pass the exam? Is that why i failed?"
Moral of the story: No, you don't at all need some extra intelligence to "only PASS" this exam.
For inspiration: BUT Yes, you need VERY VERY HARD work to learn and understand JAVA. So you have to be sure why are you appearing this SCJP. If you are very serious in learning JAVA, then read and learn it as JAVA is your "passion". Don't read it for the sake of reading it. Remember this thing: Person you works hard and achieve his success, knows the worth of his success and hardwork....
Ask yourself: Before preparing for exam, find out why you failed in the exam.
1. was it because you didn't read questions properly
2. was it you didn't know most of the things that came in exam
3. were you overconfident or lost confident.
once you will get the ansewer, you will know how to prepare for the exam.
One solution can be(this is what I did while preparing for SCJP): Start from the begining. Do all the mocks. Make some benchmark. e.g. what mock you did and how many were correct and how many went wrong and WHY it went wrong(it can be because you didn't read question properly or any other reason). Whatever questions you will miss(for whatever reason), put(copy and paste) them in seperate document. By the end of the day you will know why are you doing wrong and which area you need to be improve. And there will be one time, when you will tell yourself, "Yes Vivek you are ready to face your exam". And remember " there is ONLY one thing between success and failure and that is "CONFIDENCE". Don't be over-confidence, and don't lose confidence.....Hope it helps
If you want I can send you my benchmark that I made for myself, while preparing for SCJP.