public static synchronized void create(String array[]) {

    SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
    Date date;
    Person person;

    for (int i = 1; i < array.length; i++) {
      if (array[i].equals("м")) {
        try {
          date = format.parse(array[++i]);
          --i;
          person = Person.createMale(array[--i], date);
          ++i;
          allPeople.add(person);
          System.out.println(allPeople.indexOf(person));
        } catch (ParseException e) {
        }
      }
      if (array[i].equals("ж")) {
        try {
          date = format.parse(array[++i]);
          --i;
          person = Person.createFemale(array[--i], date);
          ++i;
          allPeople.add(person);
          System.out.println(allPeople.indexOf(person));
        } catch (ParseException e) {
        }
      }
    }
  }
 public static Person getPerson(String[] person) {
   String name = person[0];
   String sex = person[1];
   SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
   Date bd = new Date();
   try {
     bd = simpleDateFormat.parse(person[2]);
   } catch (ParseException e) {
     e.printStackTrace();
   }
   return sex.equals("м") ? Person.createMale(name, bd) : Person.createFemale(name, bd);
 }
 static {
   allPeople.add(Person.createMale("Иванов Иван", new Date())); // сегодня родился    id=0
   allPeople.add(Person.createMale("Петров Петр", new Date())); // сегодня родился    id=1
 }
  public static void main(String[] args) throws ParseException {
    // start here - начни тут
    if (args.length < 2) return;

    if (args[0].equals("-c") && args.length >= 4) {
      Person person = null;
      int findIndex = 0;
      String name = "";
      for (int i = 1; i < args.length; i++) {
        if (args[i].equals("м") | args[i].equals("ж")) {
          findIndex = i;
          name = name.substring(0, name.length() - 1);
          break;
        } else {
          name = name + args[i] + " ";
        }
      }
      String sex = args[findIndex];
      Date bd = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[findIndex + 1]);

      if (sex.equals("м")) person = Person.createMale(name, bd);
      if (sex.equals("ж")) person = Person.createFemale(name, bd);

      allPeople.add(person);

      System.out.println(allPeople.indexOf(person));
    }

    if (args[0].equals("-u") && args.length >= 5) {
      Person person = null;
      int id = Integer.parseInt(args[1]);
      int findIndex = 0;
      String name = "";
      for (int i = 2; i < args.length; i++) {
        if (args[i].equals("м") | args[i].equals("ж")) {
          findIndex = i;
          name = name.substring(0, name.length() - 1);
          break;
        } else {
          name = name + args[i] + " ";
        }
      }

      String sex = args[findIndex];
      Date bd = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[findIndex + 1]);

      if (sex.equals("м")) person = Person.createMale(name, bd);
      if (sex.equals("ж")) person = Person.createFemale(name, bd);

      allPeople.set(id, person);
    }

    if (args[0].equals("-d") && args.length == 2) {
      int id = Integer.parseInt(args[1]);

      //            allPeople.remove(id);
      allPeople.set(id, null);
    }

    if (args[0].equals("-i") && args.length == 2) {
      int id = Integer.parseInt(args[1]);
      Person p = allPeople.get(id);
      String sex = null;
      String bd = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH).format(p.getBirthDay());

      if (p.getSex().equals(Sex.MALE)) sex = "м";
      if (p.getSex().equals(Sex.FEMALE)) sex = "ж";

      System.out.println(p.getName() + " " + sex + " " + bd);
    }
  }