package com.javarush.task.task17.task1711; 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 2 */ public class Solution { public static volatile 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 { switch (args[0]) { case "-c": synchronized (allPeople) { createMan(args[1], args[2], args[3]); break; } case "-u": synchronized (allPeople) { refreshMan(args[1], args[2], args[3], args[4]); break; } case "-d": synchronized (allPeople) { deleteMan(args[1], args[2], args[3], args[4]); break; } case "-i": synchronized (allPeople) { printMan(args[1], args[2], args[3], args[4]); break; } } } private static void printMan(String name, String sex, String data, String id) { for (int i = 0; i < allPeople.size(); i++) { Person prinPerson = allPeople.get(Integer.parseInt(id)); System.out.println(prinPerson.toString()); } } private static void deleteMan(String name, String sex, String data, String id) { for (int i = 0; i < allPeople.size(); i++) { Person deletePerson = allPeople.get(Integer.parseInt(id)); deletePerson.setName(null); deletePerson.setBirthDate(null); deletePerson.setSex(null); allPeople.set(Integer.parseInt(id), deletePerson); } } private static void createMan(String name, String sex, String data) throws ParseException { for (int i = 0; i < allPeople.size(); i++) { Date newDatate = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(data); if (sex.equals("м")) { allPeople.add(Person.createMale(name, newDatate)); } if (sex.equals("ж")) { allPeople.add((Person.createFemale(name, newDatate))); } System.out.println(allPeople.size() - 1); } } private static void refreshMan(String name, String sex, String data, String id) throws ParseException { for (int i = 0; i < allPeople.size(); i++) { Date newData = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(data); Person refreshPerson = allPeople.get(Integer.parseInt(id)); refreshPerson.setName(name); refreshPerson.setBirthDate(newData); if (sex.equals("м")) { refreshPerson.setSex(com.javarush.task.task17.task1711.Sex.FEMALE); } if (sex.equals("ж")) { refreshPerson.setSex(com.javarush.task.task17.task1711.Sex.FEMALE); } allPeople.set(Integer.parseInt(id), refreshPerson); } } }