    public class Driver
   {
       public static void main(String args[])
      {
         int problem;
         int [] vals1, vals2;
         String [] sVals1, sVals2, sVals3;
         double [] fVals1, fVals2, tol;
      
      
         if (args.length > 0)
         {
            problem = Integer.parseInt(args[0]);
         }
         else 
         {
            problem = 0;
         }
      
         switch (problem)
         {
            case 1: 
               sVals1 = new String[] {"Harris", "Capaccio", "Jones"};
               sVals2 = new String[] {"Nancy", "Vincent", "John"};
               sVals3 = new String[] {"Lea", "David", "Jay"};
               for (int i = 0; i < sVals1.length; i++)
               {	
                  System.out.println(Methods.reformName(sVals1[i], sVals2[i],
                     sVals3[i]));
               }
               break;
            case 2:
               fVals1 = new double[] {38000, 43560, 201298};
               for (double d : fVals1)
               {	
                  System.out.printf("%.3f square feet is %.3f acres.\n", d, 
                     Methods.calcAcreage(d));
               }
               break;
            case 3:
               vals1 = new int [] {1, 5, 6, 20, 55, 83};
               fVals1 = new double [] {22.90, 13, .01, 19, 17.50, 0};
               for (int ii = 0; ii < vals1.length; ii++)
               {
                  System.out.printf("The total stock price for " + 
                     "%d shares at $%.2f is $%.2f\n", vals1[ii], fVals1[ii], 
                     Methods.calcStockPrice(vals1[ii], fVals1[ii]));
               }
               break;
            case 4:
               vals1 = new int [] {1, 5, 6, 20, 55, 83};
               fVals1 = new double [] {22.90, 13, .01, 19, 17.50, 0};
               for (int ii = 0; ii < vals1.length; ii++)
               {
                  System.out.printf("The commission on %d shares at $%.2f is $%.2f\n", 
                     vals1[ii], fVals1[ii], Methods.calcStockCommission(vals1[ii], fVals1[ii]));
               }
               break;
            case 5: 
               sVals1 = new String [] {"abcdefg", "racecar", "!@#$%"};
               vals1 = new int[] {0, 1, 4};
               for (int ii = 0; ii < sVals1.length; ii++)
               {
                  Methods.showChar(sVals1[ii], vals1[ii]);
               }
               break;
            case 6:
               fVals1 = new double [] {0, 1.5, 2.2, 4.1, 8.6};
               fVals2 = new double [] {8.6, 1.2, 4.3, 2.1, 0};
            
               for (int ii = 0; ii < fVals1.length; ii++)
               {
                  System.out.printf("The sum of the squares of %f and %f is %.2f\n",
                     fVals1[ii], fVals2[ii], Methods.sumSquares(fVals1[ii], fVals2[ii])); 
               }
               break;
            case 7:
               sVals1 = new String [] {"xyz", "abc", "why"};
               sVals2 = new String [] {"123", "%%", "not"};
               vals1 = new int [] {345, 27, -5};
               for (int ii = 0; ii < sVals1.length; ii++)
               {
                  System.out.println(Methods.insertValue(sVals1[ii], sVals2[ii], vals1[ii]));
               }
               break;
            case 8:
            
               fVals1 = new double [] {0, 1, 25, 100.1};
               for (double d : fVals1)
               {
                  System.out.printf("The tax on $%.2f is $%.2f\n", d, Methods.calcTax(d));
               }
               break;
            default:
               System.out.println("Bad value");
         }
      }
   }


