because unlike primitive types, creating an array of Strings does NOT creates actual string objects. it creates only empty holders (references with null values) you will need to assign actual Strings before doing operaitons like toUpperCase();
Make a search with "initializing String Arrays Java" in google. or Read
here, a very nice Java resource