Source of ArraySearcherDemo.java


  1: //ArraySearcherDemo.java

  3: import java.util.Scanner;
  4: import java.util.Arrays;

  6: public class ArraySearcherDemo
  7: {
  8:     public static void main(String[] args)
  9:     {
 10:         Scanner keyboard = new Scanner(System.in);
 11:         /*
 12:             int[] anArray = new int[10];
 13:             Scanner keyboard = new Scanner(System.in);
 14:             System.out.print("Enter 10 integers in increasing order, ");
 15:             System.out.println("one per line:");

 17:             for (int i = 0; i < 10; i++)
 18:             anArray[i] = keyboard.nextInt();
 19:             System.out.println();
 20:         */

 22:         final int NUM_VALUES = 10;
 23:         int arraySize = NUM_VALUES + (int)((NUM_VALUES + 1) * Math.random());
 24:         int[] anArray = new int[arraySize];
 25:         for (int i = 0; i < arraySize; i++)
 26:             anArray[i] = 10 + (int)(90 * Math.random());
 27:         Arrays.sort(anArray);

 29:         for (int i = 0; i < anArray.length; i++)
 30:             System.out.print("a[" + i + "]=" + anArray[i] + " ");
 31:         System.out.println();
 32:         System.out.println();

 34:         ArraySearcher finder = new ArraySearcher(anArray);

 36:         String ans;
 37:         do
 38:         {
 39:             System.out.println("Enter a value to search for:");
 40:             int target = keyboard.nextInt();
 41:             int result = finder.find(target);

 43:             if (result < 0)
 44:                 System.out.println(target + " is not in the array.");
 45:             else
 46:                 System.out.println(target + " is at index " + result);

 48:             System.out.print("Again? ");
 49:             ans = keyboard.next();
 50:         }
 51:         while (ans.equalsIgnoreCase("yes"));

 53:         System.out.println("May you find what you're searching for.");
 54:     }
 55: }