Description
Create a program to let user choose type of elements to input and choose how many to process. After enter the elements, it should display the elements as they were entered, reverse the order of entries, sorted the entries in ascending order, and display unique entries (no duplicates).
Codes
Lab5App.java
package Lab5; import java.util.*; /** * 1- Display all the elements in the order they were entered. * 2- Display all the elements in the reverse order they were entered. * 3- Display all the elements in ascending order. * 4- Display the elements only once (i.e. no repetitions). */ public class Lab5App { public static void main(String[] args) { Scanner in = new Scanner(System.in); int inputType, inputCounter; String inString; int inInt; double inDouble; do { System.out.print("MENU:\n1. string\n2. double\n3. integer\n0. Quit\n" + "Enter input data type: "); inputType = in.nextInt(); if (inputType == 0) break; System.out.print("How many elements to process: "); inputCounter = in.nextInt(); in.nextLine(); // fix the empty line switch (inputType) { case 1: ArrayList stringItems = new ArrayList(); Stack stackString = new Stack(); Set setString = new TreeSet(); for (int i = 0; i < inputCounter; i++) { System.out.print("Enter element #" + i + ":"); inString = in.nextLine(); stringItems.add(inString); stackString.push(inString); setString.add(inString); } // display System.out.println("Order they were entered: "); for (int i = 0; i < inputCounter; i++) { System.out.printf("Item #%d = %s\n", i, stringItems.get(i)); } System.out.println("Reversed order: "); for (int i = 0; i < inputCounter; i++) { System.out.println("Item #" + i + " = " + stackString.pop()); } Collections.sort(stringItems); System.out.printf("\nSorted array elements:\n%s\n\n", stringItems); // display unique entry System.out.println("Unique entry: \n" + setString); break; case 2: ArrayList doubleItems = new ArrayList(); Stack doubleStack = new Stack(); Set doubleSet = new TreeSet(); for (int i = 0; i < inputCounter; i++) { System.out.print("Enter element #" + i + ":"); inDouble = in.nextDouble(); doubleItems.add(inDouble); doubleStack.push(inDouble); doubleSet.add(inDouble); } System.out.println("Order they were entered: "); for (int i = 0; i = 0; i--) { System.out.println("Item #" + i + " = " + doubleStack.pop()); } // Sorted Collections.sort(doubleItems); System.out.printf("\nSorted array elements:\n%s\n\n", doubleItems); // display unique entry System.out.println("Unique entry: \n" + doubleSet); break; default: ArrayList intItems = new ArrayList(); Stack intStack = new Stack(); Set intSet = new TreeSet(); for (int i = 0; i < inputCounter; i++) { System.out.print("Enter element #" + i + ":"); inInt = in.nextInt(); intItems.add(inInt); intStack.push(inInt); intSet.add(inInt); } System.out.println("Order they were entered: "); for (int i = 0; i = 0; i--) { System.out.println("Item #" + i + " = " + intStack.pop()); } Collections.sort(intItems); System.out.printf("\nSorted array elements:\n%s\n\n", intItems); System.out.println("Unique entry: \n" + intSet); } System.out.println(); // display empty line } while (inputType != 0); } }