• ,

level17.lesson10.bonus01 подскажите где ошибка. всё работает, но тест не проходит

package com.javarush.test.level17.lesson10.bonus01;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

/* CRUD
CrUD - Create, Update, Delete
Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-u id name sex bd
-d id
-i id
Значения параметров:
name - имя, String
sex - пол, "м" или "ж", одна буква
bd - дата рождения в следующем формате 15/04/1990
-c  - добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-u  - обновляет данные человека с данным id
-d  - производит логическое удаление человека с id
-i  - выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)

id соответствует индексу в списке
Все люди должны храниться в allPeople
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

Пример параметров: -c Миронов м 15/04/1990
*/

public class Solution {
    public static List<Person> allPeople = new ArrayList<Person>();

    static {
        allPeople.add(Person.createMale("Иванов Иван", new Date()));  //сегодня родился    id=0
        allPeople.add(Person.createMale("Петров Петр", new Date()));  //сегодня родился    id=1
    }

    public static void main(String[] args) {
        if (args.length < 2 || args.length > 6 || args.length == 3) {
            return;
        }
        try {
            if (args[0].equals("-c")) {     // create new person and add this to ArrayList
                switch (args[2]) {          // switch sex
                    case "м":
                        allPeople.add(Person.createMale(args[1], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                        System.out.println(allPeople.size() - 1);
                        break;
                    case "ж":
                        allPeople.add(Person.createFemale(args[1], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                        System.out.println(allPeople.size() - 1);
                        break;
                    default:
                        break;
                }
            }

            int id = Integer.parseInt(args[1]);

            switch (args[0]) {              // switch command
                case "-d":                  // remove person with id xxx
                    allPeople.remove(id);
                    break;
                case "-u":                  // update person with id xxx
                    switch (args[3]) {      // switch sex
                        case "м":
                            allPeople.set(id, Person.createMale(args[2], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                            break;
                        case "ж":
                            allPeople.set(id, Person.createFemale(args[2], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                            break;
                    }
                    break;
                case "-i":              // info about person with id xxx
                    System.out.println((allPeople.get(id)).toString());
                    break;
                default:
                    break;
            }
        } catch (ParseException | NumberFormatException ignored) {

        }
    }
}


и второй класс

package com.javarush.test.level17.lesson10.bonus01;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Person {
    private String name;
    private Sex sex;
    private Date birthDay;

    private Person(String name, Sex sex, Date birthDay) {
        this.name = name;
        this.sex = sex;
        this.birthDay = birthDay;
    }

    public static Person createMale(String name, Date birthDay) {
        return new Person(name, Sex.MALE, birthDay);
    }

    public static Person createFemale(String name, Date birthDay) {
        return new Person(name, Sex.FEMALE, birthDay);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Sex getSex() {
        return sex;
    }

    public void setSex(Sex sex) {
        this.sex = sex;
    }

    public Date getBirthDay() {
        return birthDay;
    }

    public void setBirthDay(Date birthDay) {
        this.birthDay = birthDay;
    }

    public String toString() {
        String out;
        if (sex.equals(Sex.MALE))
            out = "м";
        else
            out = "ж";

        SimpleDateFormat format1 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
        return name + " " + out + " " + format1.format(getBirthDay());
    }
}
  • ,

level17.lesson10.bonus01 подскажите где ошибка. всё работает, но тест не проходит

package com.javarush.test.level17.lesson10.bonus01;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

/* CRUD
CrUD - Create, Update, Delete
Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-u id name sex bd
-d id
-i id
Значения параметров:
name - имя, String
sex - пол, "м" или "ж", одна буква
bd - дата рождения в следующем формате 15/04/1990
-c  - добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-u  - обновляет данные человека с данным id
-d  - производит логическое удаление человека с id
-i  - выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)

id соответствует индексу в списке
Все люди должны храниться в allPeople
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

Пример параметров: -c Миронов м 15/04/1990
*/

public class Solution {
    public static List<Person> allPeople = new ArrayList<Person>();

    static {
        allPeople.add(Person.createMale("Иванов Иван", new Date()));  //сегодня родился    id=0
        allPeople.add(Person.createMale("Петров Петр", new Date()));  //сегодня родился    id=1
    }

    public static void main(String[] args) {
        if (args.length < 2 || args.length > 6 || args.length == 3) {
            return;
        }
        try {
            if (args[0].equals("-c")) {     // create new person and add this to ArrayList
                switch (args[2]) {          // switch sex
                    case "м":
                        allPeople.add(Person.createMale(args[1], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                        System.out.println(allPeople.size() - 1);
                        break;
                    case "ж":
                        allPeople.add(Person.createFemale(args[1], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                        System.out.println(allPeople.size() - 1);
                        break;
                    default:
                        break;
                }
            }

            int id = Integer.parseInt(args[1]);

            switch (args[0]) {              // switch command
                case "-d":                  // remove person with id xxx
                    allPeople.remove(id);
                    break;
                case "-u":                  // update person with id xxx
                    switch (args[3]) {      // switch sex
                        case "м":
                            allPeople.set(id, Person.createMale(args[2], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                            break;
                        case "ж":
                            allPeople.set(id, Person.createFemale(args[2], new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(args[args.length - 1])));
                            break;
                    }
                    break;
                case "-i":              // info about person with id xxx
                    System.out.println((allPeople.get(id)).toString());
                    break;
                default:
                    break;
            }
        } catch (ParseException | NumberFormatException ignored) {

        }
    }
}


и второй класс

package com.javarush.test.level17.lesson10.bonus01;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class Person {
    private String name;
    private Sex sex;
    private Date birthDay;

    private Person(String name, Sex sex, Date birthDay) {
        this.name = name;
        this.sex = sex;
        this.birthDay = birthDay;
    }

    public static Person createMale(String name, Date birthDay) {
        return new Person(name, Sex.MALE, birthDay);
    }

    public static Person createFemale(String name, Date birthDay) {
        return new Person(name, Sex.FEMALE, birthDay);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Sex getSex() {
        return sex;
    }

    public void setSex(Sex sex) {
        this.sex = sex;
    }

    public Date getBirthDay() {
        return birthDay;
    }

    public void setBirthDay(Date birthDay) {
        this.birthDay = birthDay;
    }

    public String toString() {
        String out;
        if (sex.equals(Sex.MALE))
            out = "м";
        else
            out = "ж";

        SimpleDateFormat format1 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
        return name + " " + out + " " + format1.format(getBirthDay());
    }
}
  • ,

level17.lesson10.bonus01

Подскажите что посмотреть, а то вроде сделано все верно и работает код на моей тачке правильно.
Уже всю голову сломал и несколько раз переписывал в разных вариантах.

убрано, т.к. решение было верным за 1 маленьким ньюансом
  • ,

level17.lesson10.bonus01 валидатору что то не нравиться

Прошу знатоков взглянуть всю голову издумал уже.
Конечно же сам проверял неоднократно, возможно недопонял где то условие.

CRUD
CrUD — Create, Update, Delete
Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-u id name sex bd
-d id
-i id
Значения параметров:
name — имя, String
sex — пол, «м» или «ж», одна буква
bd — дата рождения в следующем формате 15/04/1990
-c — добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-u — обновляет данные человека с данным id
-d — производит логическое удаление человека с id
-i — выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)

id соответствует индексу в списке
Все люди должны храниться в allPeople
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

Пример параметров: -c Миронов м 15/04/1990

public class Solution {
    public static List<Person> allPeople = new ArrayList<Person>();
    static {
        allPeople.add(Person.createMale("Иванов Иван", new Date()));  //сегодня родился    id=0
        allPeople.add(Person.createMale("Петров Петр", new Date()));  //сегодня родился    id=1
    }

    public static void main(String[] args) {
        BufferedReader reader= new BufferedReader(new InputStreamReader(System.in));
        try
        {
            String[] vvod = vvodToMass(reader.readLine());
            reader.close();
            if(vvod[0].equals("-c"))createPeople_c(vvod);
            if(vvod[0].equals("-u"))updatePeople_u(vvod);
            if(vvod[0].equals("-d"))deletePeople_d(vvod);
            if(vvod[0].equals("-i"))printInfo(vvod);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }

    public static String[] vvodToMass (String a)
    {
        String[] param = new String[5];
        int i=0;
            StringTokenizer tok = new StringTokenizer(a);
        while (tok.hasMoreTokens())
        {
            param[i]=tok.nextToken();
            i++;
        }
        return param;
    }

    public static void createPeople_c(String[] vvodStr)
    {
        Sex sex=null;
        if(vvodStr[2].equals("м"))sex=Sex.MALE;
        if(vvodStr[3].equals("ж"))sex=Sex.FEMALE;
        Date date = strToDate(vvodStr[3]);
        if (sex==Sex.FEMALE)
        {allPeople.add(Person.createFemale(vvodStr[1],date));
            System.out.println(allPeople.size()-1);}

        if (sex==Sex.MALE)
        {allPeople.add(Person.createMale(vvodStr[1],date));
            System.out.println(allPeople.size()-1);}
    }

    public  static Date strToDate (String strDate)
    {
        SimpleDateFormat form = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
        Date date = null;
        try
        {
            date = form.parse(strDate);
        }
        catch (ParseException e)
        {
            e.printStackTrace();
        }
        return date;
    }

    public static void updatePeople_u(String[] vvodStr)
    {
        Person person=allPeople.get(Integer.parseInt(vvodStr[1]));
        person.setBirthDay(strToDate(vvodStr[4]));
        Sex sex;
        if(vvodStr[3].equals("м"))sex=Sex.MALE;
        if(vvodStr[3].equals("ж"))sex=Sex.FEMALE;
        person.setName(vvodStr[2]);
        allPeople.add(Integer.parseInt(vvodStr[1]),person);
    }

    public static void deletePeople_d(String[] vvodStr)
    {
        allPeople.remove(Integer.parseInt(vvodStr[1]));
    }

    public static void printInfo (String[] vvodStr)
    {
        Person person = allPeople.get(Integer.parseInt(vvodStr[1]));
        SimpleDateFormat form = new SimpleDateFormat("dd-MMM-yyyy",Locale.ENGLISH);
        String sex=null;
        if(person.getSex()==Sex.MALE)sex="м";
        if(person.getSex()==Sex.FEMALE)sex="ж";
        System.out.println(person.getName()+" "+sex+" "+form.format(person.getBirthDay()));
    }
}


public enum Sex {
    MALE,
    FEMALE
}


public class Person {
    private String name;
    private Sex sex;
    private Date birthDay;

    private Person(String name, Sex sex, Date birthDay) {
        this.name = name;
        this.sex = sex;
        this.birthDay = birthDay;
    }

    public static Person createMale(String name, Date birthDay){
        return new Person(name, Sex.MALE, birthDay);
    }

    public static Person createFemale(String name, Date birthDay){
        return new Person(name, Sex.FEMALE, birthDay);
    }
...... + геттеры и сеттеры
  • ,

javarush.test.level17.lesson10.bonus01 - Видимо, проблема с кодировкой!

У меня вот не читает третий параметр «м». Записываю в Program arguments -c Миронов м 15/04/1990, вот он, третий параметр «м», но не читает, что-то с кодировкоий может… внизу справа поставил UTF-8. Ниже блок кода TESTING выдает вот такой результат:

2

-c
Миронов
м
15/04/1990

Иванов Иван м 10/03/2016
Петров Петр м 10/03/2016
Миронов ж 15/04/1990

где 2 — id, потом идет перечень записанных в строку параметров, а потом новый список людей, и как видите, Миронов поменял стать. Помогите понять почему не воспринимает символ!

Условие:

/* CRUD
CrUD — Create, Update, Delete
Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-u id name sex bd
-d id
-i id
Значения параметров:
name — имя, String
sex — пол, «м» или «ж», одна буква
bd — дата рождения в следующем формате 15/04/1990
-c — добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-u — обновляет данные человека с данным id
-d — производит логическое удаление человека с id
-i — выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)

id соответствует индексу в списке
Все люди должны храниться в allPeople
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

Пример параметров: -c Миронов м 15/04/1990
*/

package com.javarush.test.level17.lesson10.bonus01;

import java.text.*;
import java.util.*;

public class Solution {
    public static List<Person> allPeople = new ArrayList<Person>();
    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 {
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);

        // -c - Create
        if (args[0].equals("-c")){
            Person person;
            String name = name(args);
            if (args[args.length - 2].equals('м')) person = Person.createMale(name, dateFormat.parse(args[args.length - 1]));
            else person = Person.createFemale(name, dateFormat.parse(args[args.length - 1]));
            allPeople.add(person);
            System.out.println(allPeople.indexOf(person));
            //**********************************************************************************************************

            // -u- Update
        } else if (args[0].equals("-u")){
            if (args[args.length - 2].equals('м')) {
                allPeople.get(Integer.parseInt(args[1])).setSex(Sex.MALE);
            } else {
                allPeople.get(Integer.parseInt(args[1])).setSex(Sex.FEMALE);
            }
            allPeople.get(Integer.parseInt(args[1])).setBirthDay(dateFormat.parse(args[args.length - 1]));
            //**********************************************************************************************************

            // -d - Delete
        } else if (args[0].equals("-d")){
            if (args.length != 2) return;
            allPeople.get(Integer.parseInt(args[1])).setBirthDay(null);
            //**********************************************************************************************************

            // -i- Information
        } else if (args[0].equals("-i")){
            dateFormat = new SimpleDateFormat("dd-MMM-YYYY", Locale.ENGLISH);
            allPeople.get(Integer.parseInt(args[1]));
            System.out.println(allPeople.get(Integer.parseInt(args[1])).getName()
                    + " " + (allPeople.get(Integer.parseInt(args[1])).getSex() == Sex.MALE ? 'м' : 'ж')
                    + " " + dateFormat.format(allPeople.get(Integer.parseInt(args[1])).getBirthDay()));
        }
        //**************************************************************************************************************

        // TESTING
        System.out.println();
        for (String s : args) {
            System.out.println(s);
        }

        System.out.println();
        for (Person p : allPeople) {
            System.out.println(p.getName() + " " + (p.getSex() == Sex.MALE ? 'м' : 'ж') + " " + dateFormat.format(p.getBirthDay()));
        }
        //**************************************************************************************************************
    }

    public static String name(String[] consoleArgs){
        String name = "";
        for (int i = 1; i <= consoleArgs.length - 3; i++) {
            name += consoleArgs[i];
            if (i == (consoleArgs.length - 3)) continue;
            name += " ";
        }
        return name;
    }
}

level17.lesson10.bonus01 не проходит проверку [РЕШЕНО]

Не могу никак понять — где ошибка или некорректно выполненное условия. Программа отлично отрабатывает, просьба подсказать уже решившим товарищам — что не так. Уже ковырялся в ньюансах:
1. Параметры прописываю в Run -> Edit Configurations, добавлял вывод в консоль при каждом действии — все корректно. Если имя длинное — пишу его в кавычках, в обсуждениях этот момент очень хорошо расписан.
2. Все комментарии поудалял перед отправкой; -u сделал так, чтобы он именно обновлял поля, а не удалял прошлый элемент и создавал новый; -d организовал как заполнение null-ами объекта массива.
3. Вывод организовал переписав метод toString класса Person, всё выводится согласно указанному шаблону, т.е.
Петров Петр м 24-Feb-2016

Process finished with exit code 0

4. Исключение ParseException сначала обрабатывал в try/catch — тоже не принимает, добавлял пункт default в switch — аналогично.

com.javarush.test.level17.lesson10.bonus01

Уважаемые форумчане,

помогите, пожалуйста с задачкой.

Код отрабатывает с вариантами параметров:
-c Петрова ж 01/12/1992
-u 1 Петрова ж 01/12/1992
-d 1
-i 1

Вроде бы все требования условия тем самым выполняются. Очень хочу понять, в чем ошибка.

level17.lesson10.bonus01 Работает но не принимает

Помогите решить задание, не понимаю почему не принимает.

/* CRUD
CrUD - Create, Update, Delete
Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-u id name sex bd
-d id
-i id
Значения параметров:
name - имя, String
sex - пол, "м" или "ж", одна буква
bd - дата рождения в следующем формате 15/04/1990
-c  - добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-u  - обновляет данные человека с данным id
-d  - производит логическое удаление человека с id
-i  - выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)

id соответствует индексу в списке
Все люди должны храниться в allPeople
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

Пример параметров: -c Миронов м 15/04/1990
*/

public class Solution {
    public static List<Person> allPeople = new ArrayList<Person>();
    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 - начни тут
        Person person = null;
        String name = null;
        SimpleDateFormat dateFormat1 = new SimpleDateFormat("dd/mm/yyyy", Locale.ENGLISH);
        SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
        if (args[0].equals("-c")){
            if (args.length == 4) name = args[1];
            else name = args[1] + " " + args[2];
            if (args[args.length-2].equals("м"))person = Person.createMale(name, dateFormat1.parse(args[args.length-1]));
            else person = Person.createFemale(name, dateFormat1.parse(args[args.length-1]));
            allPeople.add(person);
            System.out.println(allPeople.indexOf(person));
       
        }
        else if (args[0].equals("-u")){
            if (args.length == 5) name = args[2];
            else name = args[2] + " " + args[3];
            person = allPeople.get(Integer.parseInt(args[1]));
            person.setName(name);
            if (args[args.length-2].equals("м"))person.setSex(Sex.MALE);
            else person.setSex(Sex.FEMALE);
            person.setBirthDay(dateFormat1.parse(args[args.length - 1]));
           
        }
        else if (args[0].equals("-d")){
            person = allPeople.get(Integer.parseInt(args[1]));
            person.setSex(null);
            person.setName(null);
            person.setBirthDay(null);
           
        }
        else if (args[0].equals("-i")){
            person = allPeople.get(Integer.parseInt(args[1]));
            char sex;
            if (person.getSex().equals(Sex.MALE))sex = 'м';
            else sex = 'ж';
            System.out.println(person.getName()+" "+sex+" "+dateFormat2.format(person.getBirthDay()));
        }
    }
}
  • ,

level17 lesson10 bonus01 - не проходит тестирование / ОТБОЙ ошибка по невнимательности.

package com.javarush.test.level17.lesson10.bonus01;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

/* CRUD
CrUD - Create, Update, Delete
Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-u id name sex bd
-d id
-i id
Значения параметров:
name - имя, String
sex - пол, "м" или "ж", одна буква
bd - дата рождения в следующем формате 15/04/1990
-c  - добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-u  - обновляет данные человека с данным id
-d  - производит логическое удаление человека с id
-i  - выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)

id соответствует индексу в списке
Все люди должны храниться в allPeople
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

Пример параметров: -c Миронов м 15/04/1990
*/

public class Solution {
    public static List<Person> allPeople = new ArrayList<Person>();
    static {
        allPeople.add(Person.createMale("Иванов Иван", new Date()));  //сегодня родился    id=0
        allPeople.add(Person.createMale("Петров Петр", new Date()));  //сегодня родился    id=1
    }

    public static void main(String[] args) {
        //start here - начни тут

    }
}


Все работает, но тестирование не проходит.
  • ,

com.javarush.test.level17.lesson10.bonus01 - работает, но не проходит тестированиие, что не так?


package com.javarush.test.level17.lesson10.bonus01;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

/* CRUD
CrUD - Create, Update, Delete
Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-u id name sex bd
-d id
-i id
Значения параметров:
name - имя, String
sex - пол, "м" или "ж", одна буква
bd - дата рождения в следующем формате 15/04/1990
-с  - добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-u  - обновляет данные человека с данным id
-d  - производит логическое удаление человека с id
-i  - выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)

id соответствует индексу в списке
Все люди должны храниться в allPeople
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

Пример параметров: -c Миронов м 15/04/1990
*/

public class Solution
{
    public static List<Person> allPeople = new ArrayList<Person>();

    static
    {
        allPeople.add(Person.createMale("Иванов Иван", new Date()));  //сегодня родился    id=0
        allPeople.add(Person.createMale("Петров Петр", new Date()));  //сегодня родился    id=1
    }

    public static void main(String[] args)
    {
        Person person = null;

        if (args[0].substring(0, 2).equals("-c"))
        {
            String string = "";
            for (int i = 0; i < args.length; i++)
            {
                string = string + " " + args[i];
            }
            string = string.substring(1, string.length());
            String[] arguments = string.split(" ");
            if (arguments[2].equals("м"))
            {
                person = Person.createMale(arguments[1], new Date(arguments[3]));
                allPeople.add(person);
                System.out.println(allPeople.size());
            }
            if (arguments[2].equals("ж"))
            {
                person = Person.createFemale(arguments[1], new Date(arguments[3]));
                allPeople.add(person);
                System.out.println(allPeople.size());
            }

        }


        if (args[0].substring(0, 2).equals("-u"))
        {
            String string = "";
            for (int i = 0; i < args.length; i++)
            {
                string = string + " " + args[i];
            }
            string = string.substring(1, string.length());
            String[] arguments = string.split(" ");

            int index = Integer.parseInt(arguments[1]);
            allPeople.get(index).setName(arguments[2]);
            if (arguments[3].equals("м"))
            {
                allPeople.get(index).setSex(Sex.MALE);
            }
            if (arguments[3].equals("ж"))
            {
                allPeople.get(index).setSex(Sex.FEMALE);
            }
            allPeople.get(index).setBirthDay(new Date(arguments[4]));


        }
        if (args[0].substring(0, 2).equals("-d"))
        {
            String string = "";
            for (int i = 0; i < args.length; i++)
            {
                string = string + " " + args[i];
            }
            string = string.substring(1, string.length());
            String[] arguments = string.split(" ");
            int index = Integer.parseInt(arguments[1]);
            allPeople.remove(index);
        }
        if (args[0].substring(0, 2).equals("-i"))
        {
            String string = "";
            for (int i = 0; i < args.length; i++)
            {
                string = string + " " + args[i];
            }
            string = string.substring(1, string.length());
            String[] arguments = string.split(" ");
            int index = Integer.parseInt(arguments[1]);
            String name = allPeople.get(index).getName();
            String sex = "";
            if (allPeople.get(index).getSex().equals(Sex.MALE)) sex = "м";
            if (allPeople.get(index).getSex().equals(Sex.FEMALE)) sex = "ж";
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
            String dataString = simpleDateFormat.format(allPeople.get(index).getBirthDay());
            System.out.println(name + " " + sex + " " + dataString);

        }
    }
}