Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 16th, 2012  |  syntax: None  |  size: 2.83 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Reading a text file line by line and storing an object in the array
  2. public void addVehicle(Vehicle[] Honda) throws FileNotFoundException
  3. {
  4.  
  5.         if(canAddVehicle() == true)
  6.         {
  7.         for(int i = 0; i < vehicles.length; i++)
  8.         {
  9.             if(vehicles[i] == null)
  10.             {
  11.                 Scanner reader = new Scanner(file);
  12.  
  13.                 Honda[i] = new Vehicle();
  14.                 Honda[i].readRecord(reader);
  15.                 vehicles[i] = Honda[i];
  16.  
  17.                 reader.close();
  18.             }
  19.         }
  20.             System.out.println("Vehicle Added!");
  21.         }
  22.         else
  23.         {
  24.             System.out.println("You can not add more than 4 vehicles.");
  25.         }
  26. }
  27.        
  28. public void readRecord(Scanner reader)
  29. {
  30.  
  31.     setMake(reader.next());
  32.     setModel(reader.next());
  33.     setYear(reader.nextInt());
  34.     setvin(reader.next());
  35.     setValue(reader.nextDouble());
  36.     setMilesDriven(reader.nextInt());
  37.     setLastOilChange(reader.nextInt());
  38.  
  39.  
  40.  
  41. }
  42.        
  43. Hyundai Sonata  2010    ABC236347NM2N2NW2   18455.34    8765    7567
  44. Chevy   Blazer  1998    1234H32343LMN3423   29556.65    38559   38559
  45.        
  46. public List<Vehicle> readVehicles(String file)
  47. {
  48.     Scanner reader = new Scanner(file);
  49.  
  50.     List<Vehicle> vehicles = new ArrayList<Vehicle>();
  51.     try
  52.     {
  53.         while (reader.hasNextLine())
  54.         {
  55.             vehicles.add(Vehicle.readFromScanner(reader));
  56.         }
  57.     }
  58.     finally
  59.     {
  60.         reader.close();
  61.     }
  62.     return vehicles;
  63. }
  64.  
  65. // In vehicle
  66. public static Vehicle readFromScanner(Scanner scanner)
  67. {
  68.     String make = reader.next();
  69.     String model = reader.next();
  70.     int year = reader.nextInt();
  71.     String vin = reader.next();
  72.     // Don't use double for currency values
  73.     BigDecimal value = reader.nextBigDecimal();
  74.     int milesDriven = reader.nextInt();
  75.     // Shouldn't this be some sort of date type?
  76.     int lastOilChange = reader.nextInt();
  77.  
  78.     // I'll assume you have a constructor like this
  79.     return new Vehicle(make, model, year, vin, value, milesDriven,
  80.                        lastOilChange);
  81. }
  82.        
  83. public boolean addVehicle(Vehicle[] Honda) throws FileNotFoundException
  84. {
  85.     boolean found = false;
  86.     int position = 0;
  87.         if(canAddVehicle() == true)
  88.         {
  89.             for(int i = 0; i < vehicles.length && !found; i++)
  90.             {
  91.                 if(vehicles[i] == null)
  92.                 {
  93.                     position = i;
  94.                     found = true;
  95.                 }
  96.             }
  97.  
  98.                Scanner reader = new Scanner(file);
  99.                while(reader.hasNext())
  100.                {
  101.                    Honda[position] = new Vehicle();
  102.                    Honda[position].readRecord(reader);
  103.                    vehicles[position] = Honda[position];
  104.                    position++;
  105.  
  106.                }
  107.                 reader.close();
  108.                 return true;
  109.         }
  110.         return false;
  111. }