package com.javarush.test.level17.lesson10.bonus01; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; /* 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 { SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH); if (args.length > 0) { switch (args[0]) { case "-c": { Date date = format.parse(args[args.length-1]); StringBuilder stringbuilder = new StringBuilder(); for (int i = 1; i < (args.length - 2); i++) { stringbuilder.append(args[i]); stringbuilder.append(" "); } int sexNum = args.length - 2; String fullName = stringbuilder.toString().trim(); if (args[sexNum].equals("м")) { allPeople.add(Person.createMale(fullName, date)); } else if (args[sexNum].equals("ж")) { allPeople.add(Person.createFemale(fullName, date)); } System.out.println(allPeople.size()-1); } break; case "-u": { int id = Integer.parseInt(args[1]); Date date = format.parse(args[args.length-1]); StringBuilder stringbuilder = new StringBuilder(); for (int i = 2; i < (args.length - 2); i++) { stringbuilder.append(args[i]); stringbuilder.append(" "); } int sexNum = args.length - 2; String fullName = stringbuilder.toString().trim(); allPeople.get(id).setName(fullName); if (args[sexNum].equals("м")) { allPeople.get(id).setSex(Sex.MALE); } else if (args[sexNum].equals("ж")) { allPeople.get(id).setSex(Sex.FEMALE); } allPeople.get(id).setBirthDay(date); } break; case "-d": { int id = Integer.parseInt(args[1]); allPeople.get(id).setName(null); allPeople.get(id).setSex(null); allPeople.get(id).setBirthDay(null); } break; case "-i": { int id = Integer.parseInt(args[1]); String sex; if (allPeople.get(id).getSex().toString().equals("MALE")) sex = "м"; else sex = "ж"; System.out.println(allPeople.get(id).getName() + " " + sex + " " + df.format(allPeople.get(id).getBirthDay())); } break; } } } }
package com.javarush.test.level17.lesson10.bonus01; import java.util.Date; 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; } }
package com.javarush.test.level17.lesson10.bonus01; public enum Sex { MALE, FEMALE }
Leave A Comment