Well, that would be your problem. Try replacing the line: private static String[] elements; With this : private static String[] elements = {"Honesty","Kindness","Laughter","Generosity","Loyalty","Magic"}; //Remember to initialize this array to something before trying to access it. Princess Luna is the best Pony. Honestly do not use this code in the final version of this program, from wyvren2000 The array is 103 inputs and they are supposed to be read from a file that I have. The file is an excel chart with every element in the periodic table that looks like this: | Name | Atomic Number | Atomic Weight | Symbol | 1| | | | | 2| | | | | 3| | | | | 4| | | | | etc. all the way down to 103. I have another question (yeah, I'm pretty bad at this) I am trying to set up a method that is used like this: mol.displayAtomicMakeUp(); I have initialized mol in the main and I'm trying to get the displayAtomicMakeUp() method to read in what mol actually is. It might sound a bit strange, but I'm not sure how to word it. If it was displayAtomicMakeUp(mol) it would make more sense to me, as I know how to actually take what mol (a string) is from that but what do I do for mol.displayAtomicMakeUp()? mol.displayAtomicMakeUp() should be defined in mol, or whatever type of class mol is. Sounds like its similar to a toString() method. You can write the method the same way as if you had it in a different class, except you can access all its elements without having to use get() methods. Hope that makes a bit more sense.