//George Koutsogiannakis //CS1116 Spring 2011 package folder1.folder2.folder3; import folder1.folder2.Vehicle; import folder1.folder2.VehicleType; import folder1.folder2.VehicleEngine; import java.io.*; import java.util.*; public class ArrayandVectorOfVehicles { public ArrayandVectorOfVehicles() { } public Vehicle[] arrayV() { String line=" "; int count=0; Vehicle [] veh=null; VehicleEngine vehe=null; try { File file=new File("Vehicles.txt"); Scanner scan=new Scanner(file); while(scan.hasNextLine()) { scan.nextLine(); count++; } veh=new Vehicle[count]; Scanner scan1=new Scanner(file); int i=0; System.out.println("The file has"+" "+count+"lines"); while(scan1.hasNextLine()) { line=scan1.nextLine(); StringTokenizer strtok=new StringTokenizer(line,","); String tok1=strtok.nextToken(); double a=Double.parseDouble(tok1); String tok2=strtok.nextToken(); int t=Integer.parseInt(tok2); String tok3=strtok.nextToken(); String tok4=strtok.nextToken(); if(tok4.equals("TwoPointFourLiters")) { vehe=VehicleEngine.TwoPointFourLiters; } else if(tok4.equals("ThreePointFiveLiters")) { vehe=VehicleEngine.ThreePointFiveLiters; } else if(tok4.equals("FivePointZeroLiters")) { vehe=VehicleEngine.FivePointZeroLiters; } else if(tok4.equals("SixPointZeroLiters")) { vehe=VehicleEngine.SixPointZeroLiters; } Vehicle v=new Vehicle(a,t,tok3,vehe); v.calculateV(0.0); v.calculateD(0.0,0.0); veh[i]=v; i++; }//end of while loop }//end of try catch(IOException ioe) { System.out.println("Something is wrong"); } return veh; } public Vector vectorV() { Vector vec=new Vector(); String line=" "; int count=0; VehicleEngine vehe=null; try { File file=new File("Vehicles.txt"); Scanner scan=new Scanner(file); while(scan.hasNextLine()) { scan.nextLine(); count++; } Scanner scan1=new Scanner(file); int i=0; while(scan1.hasNextLine()) { line=scan1.nextLine(); StringTokenizer strtok=new StringTokenizer(line,","); String tok1=strtok.nextToken(); double a=Double.parseDouble(tok1); String tok2=strtok.nextToken(); int t=Integer.parseInt(tok2); String tok3=strtok.nextToken(); String tok4=strtok.nextToken(); if(tok4.equals("TwoPointFourLiters")) { vehe=VehicleEngine.TwoPointFourLiters; } else if(tok4.equals("ThreePointFiveLiters")) { vehe=VehicleEngine.ThreePointFiveLiters; } else if(tok4.equals("FivePointZeroLiters")) { vehe=VehicleEngine.FivePointZeroLiters; } else if(tok4.equals("SixPointZeroLiters")) { vehe=VehicleEngine.SixPointZeroLiters; } Vehicle v=new Vehicle(a,t,tok3,vehe); v.calculateV(0.0); v.calculateD(0.0,0.0); vec.addElement(v); }//end of while loop }//end of try catch(IOException ioe) { System.out.println("Something is wrong"); } return vec; } public Vehicle [] selectionSort(Vehicle [] veh) { Vehicle temp; int subarraylength=0; for (int j=0; j<=veh.length-1; j++ ) { subarraylength=veh.length-j; //find index of largest element in subarray int index=0; for (int k=1; k veh[index].getVelocity()) { index=k; } } temp=veh[index]; veh[index]=veh[veh.length-j-1]; veh[veh.length-j-1]=temp; } return veh; }//end of method public int binarySearch( Vehicle [] sortedarray, double key ) { int start = 0, end = sortedarray.length - 1; while ( end >= start ) { int middle = ( start + end ) / 2; if ( sortedarray[middle].getVelocity() == key ) return middle; // key found else if ( sortedarray[middle].getVelocity() > key ) end = middle - 1; // search left else start = middle + 1; // search right } return -1; // key not found } //ADD TASK CODE FOR LAB 3 }