Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*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, заменяет все его данные на null
- -i - выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)
- id соответствует индексу в списке.
- Все люди должны храниться в allPeople.
- Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat.
- Пример параметров:
- -c Миронов м 15/04/1990
- Пример вывода для параметра -і:
- Миронов м 15-Apr-1990
- Требования:
- 1. Класс Solution должен содержать public static поле allPeople типа List<Person>.
- 2. Класс Solution должен содержать статический блок, в котором добавляются два человека в список allPeople.
- 3. При запуске программы с параметром -с программа должна добавлять человека с заданными параметрами в конец списка allPeople, и выводить id (index) на экран.
- 4. При запуске программы с параметром -u программа должна обновлять данные человека с заданным id в списке allPeople.
- 5. При запуске программы с параметром -d программа должна логически удалять человека с заданным id в списке allPeople.
- 6. При запуске программы с параметром -i программа должна выводить на экран данные о человеке с заданным id по формату указанному в задании.*/
- import java.util.ArrayList;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.List;
- import java.util.Locale;
- /*
- CRUD
- */
- import java.util.Date;
- public class Person {
- private String name;
- private Sex sex;
- private Date birthDate;
- private Person(String name, Sex sex, Date birthDate) {
- this.name = name;
- this.sex = sex;
- this.birthDate = birthDate;
- }
- public static Person createMale(String name, Date birthDate) {
- return new Person(name, Sex.MALE, birthDate);
- }
- public static Person createFemale(String name, Date birthDate) {
- return new Person(name, Sex.FEMALE, birthDate);
- }
- 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 getBirthDate() {
- return birthDate;
- }
- public void setBirthDate(Date birthDate) {
- this.birthDate = birthDate;
- }
- }
- public enum Sex {
- MALE,
- FEMALE
- }
- 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 - начни тут
- if (args.length < 2 || args.length > 7 || args.length == 3){
- return;
- }else processParams(args);
- }
- public static void processParams(String[] args){
- SimpleDateFormat format1 = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
- SimpleDateFormat format2 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
- String name = "";
- Date bd = null;
- int id;
- switch (args[0]){
- case "-c":
- name = args[1];
- if (!args[2].equals("м") && !args[2].equals("ж")){
- name = name + " " + args[2];
- }
- try
- {
- bd = format1.parse(args[args.length - 1]);
- }catch (ParseException e){
- System.out.println("ParseException: maybe wrong date format");
- return;
- }
- allPeople.add(args[args.length - 2].equals("м") ? Person.createMale(name, bd) : Person.createFemale(name, bd));
- System.out.println(allPeople.size()-1);
- break;
- case "-u":
- id = Integer.parseInt(args[1]);
- name = args[2];
- if (!args[3].equals("м") && !args[3].equals("ж")){
- name = name + " " + args[3];
- }
- try
- {
- bd = format1.parse(args[args.length-1]);
- }catch (ParseException e){
- System.out.println("ParseException: maybe wrong date format");
- return;
- }
- allPeople.get(id).setSex(args[args.length - 2].equals("м") ? Sex.MALE : Sex.FEMALE);
- allPeople.get(id).setName(name);
- allPeople.get(id).setBirthDate(bd);
- break;
- case "-d":
- id = Integer.parseInt(args[1]);
- allPeople.get(id).setBirthDate(null);
- allPeople.get(id).setSex(null);
- allPeople.get(id).setName(null);
- break;
- case "-i":
- id = Integer.parseInt(args[1]);
- System.out.println(allPeople.get(id).getName() + (allPeople.get(id).getSex() == Sex.MALE ? " м " : " ж ") + format2.format(allPeople.get(id).getBirthDate()));
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement