Валидатор не принимает всего 1 пункт((9
package com.javarush.task.task17.task1710;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.text.SimpleDateFormat;
import java.util.Locale;
/*
CRUD
*/
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 Exception{
//start here - начни тут
//-c Миронов м 15/04/1990
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
String [] dataArr = args;
if (dataArr[0].equals("-c")){
String name = dataArr[1];
Date birthDay = formatDate.parse(dataArr[3]);
if("м".equals(dataArr[2])){
allPeople.add(Person.createMale(name, birthDay));
System.out.println(allPeople.size()-1);
}else{
allPeople.add(Person.createFemale(name, birthDay));
System.out.println(allPeople.size()-1);
}
}else if(dataArr[0].equals("-u")){
Person current = allPeople.get(Integer.parseInt(dataArr[1]));
String name = dataArr[2];
Date birthDay = formatDate.parse(dataArr[4]);
//блок с обновлением параметров
current.setBirthDay(birthDay);
current.setName(name);
current.setSex(returnSex(dataArr[3]));
}else if(dataArr[0].equals("-d")){
Person current = allPeople.get(Integer.parseInt(dataArr[1]));
//блок с установкой null
current.setBirthDay(null);
current.setName(null);
current.setSex(returnSex(null));
}else if(dataArr[0].equals("-i")){
SimpleDateFormat formatDateToPrint = new SimpleDateFormat("dd-MMM-YYYY", Locale.ENGLISH);
Person current = allPeople.get(Integer.parseInt(dataArr[1]));
String sex = "";
if(current.getSex() == Sex.MALE){
sex = "м";
}else{
sex = "ж";
}
String info = "";
info = current.getName() + " " + sex + " " + formatDateToPrint.format(current.getBirthDay());
System.out.println(info);
}
}
/*
String [] dataArr = data;
SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
if (dataArr[0].equals("-c")){
String name = dataArr[1];
Date birthDay = format.parse(dataArr[3]);
if("м".equals(takeSex(dataArr[2]))){
allPeople.add(Person.createMale(name, birthDay));
System.out.println(allPeople.size()-1);
}else{
allPeople.add(Person.createFemale(name, birthDay));
System.out.println(allPeople.size()-1);
}
}else if(dataArr[0].equals("-u")){
Person current = allPeople.get(Integer.parseInt(dataArr[1]));
String name = dataArr[2];
Date birthDay = format.parse(dataArr[4]);
//блок с обновлением параметров
current.setBirthDay(birthDay);
current.setName(name);
current.setSex(returnSex(dataArr[3]));
}else if(dataArr[0].equals("-d")){
Person current = allPeople.get(Integer.parseInt(dataArr[1]));
//блок с установкой null
current.setBirthDay(null);
current.setName(null);
current.setSex(returnSex(null));
allPeople.set(Integer.parseInt(dataArr[1]), current);
}else if(dataArr[0].equals("-i")){
Person current = allPeople.get(Integer.parseInt(dataArr[1]));
String info = "";
info = current.getName() + " " + current.getSex() + " " + format.format(current.getBirthDay());
System.out.println(info);
}
}
*/
public static Sex returnSex(String sex){
if(sex.equals("м")){
return Sex.MALE;
}
return Sex.FEMALE;
}
}
/*
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.
2. Класс Solution должен содержать статический блок, в котором добавляются два человека в список allPeople.
3. При запуске программы с параметром -с
программа должна добавлять человека с заданными параметрами в конец списка allPeople, и выводить id (index) на экран.
4. При запуске программы с параметром -u программа должна обновлять данные человека с заданным id в списке allPeople.
5. При запуске программы с параметром -d программа должна логически удалять человека с заданным id в списке allPeople.
6. При запуске программы с параметром -i программа должна выводить на экран данные о человеке с заданным id по формату указанному в задании.
*/