public static int[] letterFrequency(String fileName) throws FileNotFoundException { // Tell Java that this method could throw a FileNotFoundException (if the program can't find a filename matching the argument)
		File f = new File(fileName); // Create a file object from the file name passed as an argument

		Scanner scan = new Scanner(f); // Create a Scanner object that scans the File object
		
		final String ALPHABET = "abcdefghijklmnopqrstuvwxyz"; // Create a constant String instance to represent the alphabet
		
		int[] frequencyList = new int[26]; // The indices of the entries in the list of frequencies correspond to the letters as in the NUMBER_TO_LETTER dictionary

		for (int i = 0; i < 26; i ++) { // Loop 26 times
			frequencyList[i] = 0; // Initialise the frequency of the letter to 0
		}

		while (scan.hasNext()) { // Loop while there is another token for the Scanner
			String nextWord = scan.next(); // Get the next token from the scanner (as far as I can tell, a token is from wherever the Scanner currently is to the next space or newline, whichever comes first)

			for (int j = 0; j < nextWord.length(); j ++) { // Loop through the word
				String currentChar = nextWord.substring(j, j + 1).toLowerCase(); // Get the current character and convert it to lowercase

				if (ALPHABET.indexOf(currentChar) != -1) { // If the current character is in the alphabet:
					frequencyList[LETTER_TO_NUMBER.get(currentChar)] ++; // Increment the frequency of the current character
				}
			}
		}
		
		scan.close(); // Close the scanner

		return frequencyList; // Return the list of frequencies
	}