Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.66 KB | None | 0 0
  1. package ee.ttu.algoritmid.dancers;
  2. import java.util.List;
  3. public class HW01 implements Dancers {
  4.     Tree tree = new Tree();
  5.  
  6.     @Override
  7.     public DancingCouple findPartnerFor(Dancer candidate) throws IllegalArgumentException {
  8.         if (candidate == null) throw new IllegalArgumentException();
  9.  
  10.         if (candidate.getGender() != Dancer.Gender.MALE || candidate.getGender() != Dancer.Gender.FEMALE || candidate.getHeight() <= 0) {
  11.  
  12.             if (candidate.getName() == null || candidate.getName().length() == 0 || candidate.getHeight() <= 0 || candidate.getGender() == null) throw new IllegalArgumentException();
  13.  
  14.             if (candidate.getGender() == Dancer.Gender.MALE) {
  15.  
  16.                 Node partner = tree.getMatchMale(candidate);
  17.                 if (partner != null) {
  18.                     tree.delete(partner);
  19.                     return new DancingCoupleImpl(candidate, partner.getDancer());
  20.                 }  else {
  21.                     tree.insertMale(candidate);
  22.                     return null;
  23.                 }
  24.             }  else if (candidate.getGender() == Dancer.Gender.FEMALE) {
  25.  
  26.                 Node partner = tree.getMatchFemale(candidate);
  27.                 if (partner != null) {
  28.                     tree.delete(partner);
  29.                     return new DancingCoupleImpl(partner.getDancer(), candidate);
  30.                 }  else {
  31.                     tree.insertFemale(candidate);
  32.                     return null;
  33.                 }
  34.             }
  35.         }  else throw new IllegalArgumentException();
  36.  
  37.         return null;
  38.     }
  39.     @Override
  40.     public List<Dancer> returnWaitingList() {
  41.         return tree.dancerList();
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement