WeakestBattery.java 899 B

1234567891011121314151617181920212223242526272829303132333435
  1. package classes.comparator;
  2. import java.util.Comparator;
  3. import classes.HolonBattery;
  4. public class WeakestBattery implements Comparator<HolonBattery>{
  5. int timeStep = 0;
  6. public WeakestBattery(int compareAtTimeStep) {
  7. timeStep = compareAtTimeStep;
  8. }
  9. @Override
  10. public int compare(HolonBattery o1, HolonBattery o2) {
  11. //Sort Battery by the value of StateOfCharge/Capasity
  12. float O1capasity = o1.getCapacity();
  13. float O2capasity = o2.getCapacity();
  14. if(O1capasity == 0)
  15. {
  16. return 1;
  17. }
  18. else if(O2capasity == 0)
  19. {
  20. return -1;
  21. }
  22. if (o1.getStateOfChargeAtTimeStep(timeStep-1) / O1capasity < o2.getStateOfChargeAtTimeStep(timeStep-1) / O2capasity)
  23. {
  24. return -1;
  25. }else if(o1.getStateOfChargeAtTimeStep(timeStep-1) / O1capasity > o2.getStateOfChargeAtTimeStep(timeStep-1) / O2capasity)
  26. {
  27. return 1;
  28. }
  29. return 0;
  30. }
  31. }