Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.78 KB | None | 0 0
  1. import java.util.*;
  2. import java.text.*;
  3.  
  4. class PhoneBook {
  5.  
  6.     Scanner reader;
  7.    
  8.     public static void main(String args[])
  9.     {
  10.         PhoneBook pb = new PhoneBook(); // Creates a phonebook object, which then does everything.
  11.     }
  12.    
  13.     public PhoneBook()
  14.     {
  15.         String name;
  16.         ArrayList aryList = new ArrayList(); //creates an array list
  17.         do //begins loop for array entry
  18.         {
  19.             reader = new Scanner(System.in);
  20.  
  21.             name = getValidName();
  22.  
  23.             if(!name.equalsIgnoreCase("EXIT")) //Adds condition to Exit loop
  24.             {
  25.                 nameNumber info = new nameNumber(name, getValidNumber(true));
  26.                 aryList.add(info); //ands nameNumber obj into arraylist
  27.             }
  28.         }while(!name.equalsIgnoreCase("EXIT")); //ends array input
  29.  
  30.         System.out.println("");
  31.         System.out.println("How would you wish to have this list sorted?"); //prepares switch statement
  32.         System.out.println("  1. Ordered by Name");//1 to order the arraylist by name
  33.         System.out.println("  2. Ordered by Number");//2 to order the arraylist by phone number
  34.         System.out.println("  3. No Change");//returns arraylist
  35.  
  36.         long selection= getValidNumber(false);
  37.        
  38.         switch((int)selection)//inputs user's selection into switch statment
  39.         {
  40.         case 1://order the arraylist by name
  41.             System.out.println("test");
  42.             break;
  43.         case 2://order the arraylist by number
  44.             System.out.println("test");
  45.             break;
  46.         case 3://returns an unsorted arraylist
  47.             System.out.print(aryList);
  48.             break;
  49.         default:
  50.             System.out.println("Choose 1, 2, or 3 only");//not needed, but just in case
  51.             break;
  52.         }
  53.     }
  54.    
  55.     public String getValidName()
  56.     {
  57.         String name;
  58.         System.out.print("Please enter the name to whom the Phone Number belongs (\"Exit\" to abort): ");
  59.         name = reader.nextLine();
  60.  
  61.         return name;
  62.     } // Call this to get a name. "valid" is a relative term here.
  63.    
  64.     public long getValidNumber(boolean phone)
  65.     {
  66.         long n = 0;
  67.         String input;
  68.         boolean valid = false;
  69.        
  70.         while (!valid)
  71.         {
  72.             if (phone)
  73.                 askNumber();
  74.             else
  75.                 askChoice();
  76.             input = reader.nextLine();
  77.             try
  78.             {
  79.                 n = Long.parseLong(input);
  80.                 valid = true;
  81.             }
  82.             catch (NumberFormatException e)
  83.             {
  84.                 System.out.println("Please enter a valid number!");
  85.                 valid = false;
  86.                 n = 0;
  87.             }
  88.         }
  89.        
  90.         return n;
  91.     } // Call this to get a valid number, true for Phone numbers, false for selection
  92.    
  93.     public void askNumber()
  94.     {
  95.         System.out.print("Please enter the phone number of the individual: ");
  96.     }
  97.    
  98.     public void askChoice()
  99.     {
  100.         System.out.print("Please Enter a valid number selection (1-3): ");
  101.     }
  102.    
  103.     class nameNumber {
  104.  
  105.     public nameNumber(String na, long nu)//constructor
  106.     {
  107.         this.na = na;
  108.         this.nu = nu;
  109.     }
  110.         private String na;
  111.         private long nu;
  112.        
  113.         public String toString()
  114.         {
  115.             return "[" + na + " , " + nu + "]";
  116.         }
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement