• ,

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 Миронов м 01/01/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) {
    int id;
    if (args.length!=0)
    {
        if (args.length==2)
        {
            if ("-d".equals(args[0]) || "-i".equals(args[0]))
            {
                try
                {
                    id = Integer.parseInt(args[1]);
                    if ("-d".equals(args[0])) deletePerson(id);
                    else infoPerson(id);
                }
                catch (NumberFormatException e)
                {
                    System.out.println("Неверный формат id");
                }
            }
            else System.out.println("Не хватает атрибутов");
        }
        else if (args.length>=4)
        {
            if ("-c".equals(args[0])) appendPerson(args);
            else if ("-u".equals(args[0]) && args.length >=5) updatePerson(args);
            else System.out.println("Неверные атрибуты");
        }
        else System.out.println("Незнакомый параметр");
    }
}


private static void appendPerson(String[] args)     {
    String name = "";
    DateFormat df = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
    Person p=null;
    for (int i = 1; i<=args.length-3; i++)
        name = name + args[i] + " ";
    try
    {
    if ("м".equals(args[args.length-2]))
    {
        p = Person.createMale(name, df.parse(args[args.length-1]));
        allPeople.add(p);
    }
    else if ("ж".equals(args[args.length-2]))
    {
        p = Person.createFemale(name, df.parse(args[args.length-1]));
        allPeople.add(p);
    }
    else System.out.println("Неверные атрибуты append");
    }
    catch (ParseException e)
    {
        System.out.println("Неверный формат даты");
    }
    System.out.println(allPeople.indexOf(p));
}



private static void updatePerson(String[] args)     {
    String name = "";
    DateFormat df = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
    for (int i = 2; i<=args.length-3; i++)
        name = name + args[i] + " ";
    try
    {
        if ("м".equals(args[args.length-2]))allPeople.get(Integer.parseInt(args[1])).setSex(Sex.MALE);
        else if ("ж".equals(args[args.length-2])) allPeople.get(Integer.parseInt(args[1])).setSex(Sex.FEMALE);
        else
        {
            throw new Exception("Пол неверный");
        }
        allPeople.get(Integer.parseInt(args[1])).setBirthDay(df.parse(args[args.length-1]));
        allPeople.get(Integer.parseInt(args[1])).setName(name);
    }
    catch (IndexOutOfBoundsException e)
    {
        System.out.println("Нет такого элемента");
    }
    catch (NumberFormatException e)
    {
        System.out.println("Неверный формат id");
    }
    catch (ParseException e)
    {
        System.out.println("Неверный формат даты");
    }
    catch (Exception e)
    {
        System.out.println(e.getMessage());
    }
}



private static void deletePerson(int id)     {
    try
    {
        allPeople.get(id).setName(null);
        allPeople.get(id).setSex(null);
        allPeople.get(id).setBirthDay(null);
    }
    catch (Exception e)
    {
        System.out.println("Нет такого элемента");
    }
}



private static void infoPerson(int id)     {
    DateFormat df = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH);
    try
    {
        String sex = "";
        sex = allPeople.get(id).getSex().equals(Sex.MALE)? "м" : "ж";
        System.out.println(allPeople.get(id).getName()+ " " + sex + " " + df.format(allPeople.get(id).getBirthDay()));
    }
    catch (Exception e)
    {
        System.out.println("Нет такого элемента");
    }
}


Код отлавливает все возможные варианты параметров (имена из нескольких слов, неправильный формат прочих параметров и т.д.) в IntellijIdea все работает прекрасно, но стоит отправить на сервер для проверки выдает что не может скомпилировать. Такое разве бывает?

Ошибка сервера при сдаче задач

Всем привет. Помогите плиз. Все было нормально как вдруг при сдаче задач появляется «Неизвестная ошибка при работе с сервером» — что может это значить? Как решить?