Advertisement
Adeptius

Untitled

Jan 27th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.71 KB | None | 0 0
  1. package com.javarush.test.level17.lesson10.bonus01;
  2.  
  3. import java.text.SimpleDateFormat;
  4. import java.util.ArrayList;
  5. import java.util.Date;
  6. import java.util.List;
  7. import java.util.Locale;
  8.  
  9. /* CRUD
  10. CrUD - Create, Update, Delete
  11. Программа запускается с одним из следующих наборов параметров:
  12. -c name sex bd
  13. -u id name sex bd
  14. -d id
  15. -i id
  16. Значения параметров:
  17. name - имя, String
  18. sex - пол, "м" или "ж", одна буква
  19. bd - дата рождения в следующем формате 15/04/1990
  20. -c  - добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
  21. -u  - обновляет данные человека с данным id
  22. -d  - производит логическое удаление человека с id
  23. -i  - выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)
  24.  
  25. id соответствует индексу в списке
  26. Все люди должны храниться в allPeople
  27. Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat
  28.  
  29. Пример параметров: -c Миронов м 15/04/1990
  30. */
  31.  
  32. public class Solution {
  33.     public static List<Person> allPeople = new ArrayList<Person>();
  34.  
  35.     static {
  36.         allPeople.add(Person.createMale("Иванов Иван", new Date()));  //сегодня родился    id=0
  37.         allPeople.add(Person.createMale("Петров Петр", new Date()));  //сегодня родился    id=1
  38.     }
  39.  
  40.     public static void main(String[] args) {
  41.  
  42.         if (args.length == 0) return;
  43.         if (!(args[0].equals("-c") || args[0].equals("-u") || args[0].equals("-d") || args[0].equals("-i"))) return;
  44.  
  45.         Date date;
  46.         int id;
  47.  
  48.         if (args[0].equals("-c") && args.length == 4) {
  49.             date = new Date(Date.parse(args[3]));
  50.             if (args[2].equals("м")) { allPeople.add(Person.createMale(args[1], date)); }
  51.             if (args[2].equals("ж")) { allPeople.add(Person.createFemale(args[1], date)); }
  52.             System.out.println(allPeople.size() - 1);
  53.         }
  54.  
  55.         if (args[0].equals("-u") && args.length == 5) {
  56.             date = new Date(Date.parse(args[4]));
  57.             id = Integer.parseInt(args[1]);
  58.             allPeople.get(id).setName(args[2]);
  59.             allPeople.get(id).setBirthDay(date);
  60.             if (args[3].equals("м")) { allPeople.get(id).setSex(Sex.MALE); }
  61.             if (args[3].equals("м")) { allPeople.get(id).setSex(Sex.FEMALE); }
  62.         }
  63.  
  64.         if (args[0].equals("-d") && args.length == 2) {
  65.             id = Integer.parseInt(args[1]);
  66.             allPeople.get(id).setBirthDay(null);
  67.             allPeople.get(id).setName(null);
  68.             allPeople.get(id).setSex(null);
  69.         }
  70.  
  71.         if (args[0].equals("-i") && args.length == 2) {
  72.             id = Integer.parseInt(args[1]);
  73.             SimpleDateFormat sida = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
  74.             String name = allPeople.get(id).getName();
  75.             String sex = "";
  76.             if (allPeople.get(id).getSex().equals(Sex.MALE)) sex = "м";
  77.             if (allPeople.get(id).getSex().equals(Sex.FEMALE)) sex = "ж";
  78.             System.out.println(name + " " + sex + " " + sida.format(allPeople.get(id).getBirthDay()));
  79.  
  80.         }
  81.  
  82.     }
  83. }
  84.  
  85. /*
  86. Выводит всё согласно условию.
  87. ввод \ вывод
  88.  
  89. -c Миронов м 15/04/1990   \  2
  90. -u 1 Миронов м 15/04/1990 \
  91. -d   \
  92. -i 1 \ Петров Петр м 27-Jan-2016
  93.  
  94.  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement