/Users/johnr/Desktop/IA_14_-_Stage_P_Upload_all_2021-04-08/USEmbassyIA 2 Nirvan - Final/src/usembassyia/SortingAndAlgorithms.java
 1 /*
 2  * To change this license header, choose License Headers in Project Properties.
 3  * To change this template file, choose Tools | Templates
 4  * and open the template in the editor.
 5  */
 6 package usembassyia;
 7 
 8 import java.util.List;
 9 import java.util.ArrayList;
10 import java.text.ParseException;
11 import java.util.Arrays;
12 
13 
14 /**
15  *
16  * @author 21293
17  */
18 public class SortingAndAlgorithms {
19     public ArrayList <Courier> sortByCourierDestinationCounter(ArrayList <Courier> courierArray, int destinationIndex){
20         boolean sorted = false;
21         while(!sorted){
22             sorted = true;
23             for (int i = 0; i < courierArray.size()-1; i++){
24                 if(courierArray.get(i).allDestinations[destinationIndex].getCounter() < (courierArray.get(i+1).allDestinations[destinationIndex].getCounter())){
25                     Courier temp = courierArray.get(i);
26                      courierArray.set(i,courierArray.get(i+1) );
27                     courierArray.set(i+1, temp);
28                     sorted = false;
29                 }
30             }
31         }
32         return courierArray;
33     }
34     
35     public ArrayList<Courier> sortByHasVisa(Courier [] courierArray, int destinationIndex){
36         ArrayList <Courier> temp = new ArrayList <Courier>();
37         //System.out.println(courierArray[0].allDestinations[destinationIndex].getHasVisa());
38         for(int i =0; i < courierArray.length-1; i++){
39             if(courierArray[i].allDestinations[destinationIndex].getHasVisa()){
40                 temp.add(courierArray[i]);
41                 
42                 
43             }
44         }
45         //System.out.println(temp.size());
46         for(int i =0 ; i < temp.size()-1; i++){
47             //System.out.println(temp.get(i).allDestinations[destinationIndex].getHasVisa());
48         }
49         
50        return temp;
51         
52     }
53     
54     public int tripDeterminer(ArrayList <Courier> courierArray, int destinationIndex){
55         
56         
57         sortByCourierDestinationCounter(courierArray, destinationIndex);
58         if(courierArray.size() >=2){
59         if(courierArray.get(courierArray.size()-1).allDestinations[destinationIndex].getCounter() == courierArray.get(courierArray.size()-2).allDestinations[destinationIndex].getCounter()){
60               //if(courierArray.get(courierArray.size()-1).allDestinations[destinationIndex].getCounter() == 1){
61             if(courierArray.get(courierArray.size()-1).getDateTenured() < courierArray.get(courierArray.size()-2).getDateTenured() ){
62                 return courierArray.size()-1;
63             }
64             else{
65                 return courierArray.size()-2;
66             }
67         }
68             else{
69                     return courierArray.size()-1;
70                     }
71             
72         }
73         else{
74             return courierArray.size()-1;
75         }
76     }
77 }
78 
79