package zh.codegym.task.task17.task1711;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Locale;
/*
CRUD 2
*/
public class Solution {
public static volatile List<Person> allPeople = new ArrayList<Person>();
static {
allPeople.add(Person.createMale("Ivanov Ivan", new Date())); // id=0
allPeople.add(Person.createMale("Petrov Petr", new Date())); // id=1
}
public static void main(String[] args) {
//start here
switch (args[0]) {
//create person
case "-c":
for (int step = 1; step < args.length; step += 3) {
Date date = null;
try {
date = new SimpleDateFormat("MM dd yyyy").parse(args[step + 2]);
} catch (ParseException e) {
e.getMessage();
}
Person person;
if (args[step + 1].startsWith("m"))
person = Person.createMale(args[step], date);
else
person = Person.createFemale(args[step], date);
synchronized (allPeople) {
allPeople.add(person);
}
System.out.println(allPeople.indexOf(person));
}
break;
//update person
case "-u": {
synchronized (allPeople) {
for (int step = 1; step < args.length; step += 4) {
int index = Integer.parseInt(args[step]);
Person person = allPeople.get(index);
//update name
person.setName(args[step + 1]);
//update date
Date date = null;
try {
date = new SimpleDateFormat("MM dd yyyy").parse(args[step + 3]);
} catch (ParseException e) {
e.getMessage();
}
person.setBirthDate(date);
//update sex
if (args[step + 2].startsWith("m"))
person.setSex(Sex.MALE);
else
person.setSex(Sex.FEMALE);
}
} //synchronized
break;
}
//remove person
case "-d": {
synchronized (allPeople) {
for (int i = 1; i < args.length; i++) {
int index = Integer.parseInt(args[i]);
Person person = allPeople.get(index);
person.setName(null);
person.setSex(null);
person.setBirthDate(null);
}
}
break;
}
//print person
case "-i": {
synchronized (allPeople) {
for (int i = 1; i < args.length; i++) {
int index = Integer.parseInt(args[i]);
Person person = allPeople.get(index);
StringBuffer s = new StringBuffer();
s.append(person.getName());
s.append(" ");
s.append(person.getSex() == Sex.MALE ? "m" : "f");
s.append(" ");
s.append(new SimpleDateFormat("MMM dd yyyy", Locale.ENGLISH).format(person.getBirthDate()));
System.out.println(s);
}
}
}
break;
}
//For DEBUG
/*for (Person person : allPeople) {
StringBuffer s = new StringBuffer();
s.append(person.getName());
s.append(" ");
s.append(person.getSex() == Sex.MALE ? "m" : "w");
s.append(" ");
if (person.getBirthDay()!=null)
s.append(dateFormatPrt.format(person.getBirthDay()));
System.out.println(s);
}*/
}
}
完成
正在讨论
评论 (1)
- 受欢迎
- 新
- 旧
你必须先登录才能发表评论
Guadalupe Gagnon
1 四月 2021, 13:33
The help section is for asking for help when stuck on a task.... not for posting your solution.....
0