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); } }