This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
Please use copy-and paste for all code and error messages; it is much easier to read than JPGs.
When you create a Cat array, you create several (in your case 10) memory locations, but each of them points to null. You have to say cats[i] = new Cat( . . .); to put a real Cat in each memory location. Otherwise it will be null and you cannot manipulate a null reference like that.