// CSE 143, Winter 2009, Marty Stepp // This program contains various methods for manipulating ArrayLists. import java.io.*; import java.util.*; public class WordJumble { public static void main(String[] args) throws FileNotFoundException { Scanner input = new Scanner(new File("twister.txt")); ArrayList list = readFile(input); System.out.println(list); capitalizePlurals(list); System.out.println(list); reverse(list); System.out.println(list); } // Reads the contents of the given file into an ArrayList and returns it. public static ArrayList readFile(Scanner input) { ArrayList list = new ArrayList(); while (input.hasNext()) { String word = input.next(); list.add(word); } return list; } // Replaces every "plural" word (one that ends in a lowercase "s") in the // given list with an uppercased version of itself. public static void capitalizePlurals(ArrayList list) { for (int i = 0; i < list.size(); i++) { String word = list.get(i); if (word.endsWith("s")) { list.set(i, word.toUpperCase()); } } } // Reverses the order of the elements in the given list. public static void reverse(ArrayList list) { for (int i = 0; i < list.size() / 2; i++) { // swap element i with element (size - 1 - i) int i2 = list.size() - 1 - i; String temp = list.get(i); list.set(i, list.get(i2)); list.set(i2, temp); } } }