// TrySort.java -- driver for sort demos for cs 20 // cmc, 5/26/05 import java.util.ArrayList; import java.util.Scanner; public class TrySort { public static void main(String args[]) { if (args.length < 1) useage(); // determine sorter type IntSorter sorter = null; switch (args[0].charAt(0)) { case 's': sorter = new SelectionSort(); break; case 'i': sorter = new InsertionSort(); break; case 'q': sorter = new QuickSort(); break; default: useage(); } // get values from user and store in list Scanner input = new Scanner(System.in); ArrayList list = new ArrayList(); System.out.println("Enter integers to sort (q to quit)"); while (input.hasNext()) { String s = input.next(); if (s.charAt(0) == 'q') break; try { list.add(Integer.parseInt(s)); } catch(Exception e) { System.err.println("error: " + e.getMessage()); } } // copy values to array int x[] = new int[list.size()]; int i = 0; for (Integer value : list) x[i++] = value; // finish up System.out.print("before sorting:"); sorter.print(x); sorter.sort(x); System.out.print("after sorting:"); sorter.print(x); } // utility prints useage and exits private static void useage() { System.err.println("useage: java TrySort [s][i][q]\n" + " [selection, insertion, or quick]"); System.exit(1); } }