It does display the ID. What's wrong with my code?
package com.codegym.task.task17.task1710;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.io.*;
/*
CRUD
*/
public class Solution {
public static List<Person> allPeople = new ArrayList<>();
static {
allPeople.add(Person.createMale("Donald Chump", new Date())); // id=0
allPeople.add(Person.createMale("Larry Gates", new Date())); // id=1
}
public static void main(String[] args) {
// Start here
String cmd = args[0];
if (cmd.equals("-c")){
String name = args[1];
String sex = args[2];
String date = args[3];
Date bd = null;
try {
bd = new SimpleDateFormat("MM dd yyyy").parse(date);
} catch(Exception e){
}
System.out.println(bd);
if (sex.equals("m")){
allPeople.add(Person.createMale(name, bd));
System.out.println(allPeople.size()-1);
}else if (sex.equals("f")){
allPeople.add(Person.createFemale(name, bd));
System.out.println(allPeople.size()-1);
}
}else if (cmd.equals("-u")){
Integer id = Integer.parseInt(args[1]);
String name = args[2];
String sex = args[3];
String date = args[4];
Date bd = null;
try {
bd = new SimpleDateFormat("MM dd yyyy").parse(date);
} catch(Exception e){
System.out.println("formatting error");
}
if (sex.equals("m")){
allPeople.set(id, Person.createMale(name, bd));
} else if (sex.equals("f")){
allPeople.set(id, Person.createFemale(name, bd));
}
}else if (cmd.equals("-d")){
Integer id = Integer.parseInt(args[1]);
Person p = allPeople.get(id);
p.setBirthDate(null);
p.setName(null);
p.setSex(null);
allPeople.set(id, p);
}else if (cmd.equals("-i")){
Integer id = Integer.parseInt(args[1]);
Person p = allPeople.get(id);
String name = p.getName();
Sex sex = p.getSex();
Date bd = p.getBirthDate();
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy");
String date = sdf.format(bd);
if (sex == Sex.MALE){
System.out.println(name + " m " + date);
} else if (sex == Sex.FEMALE){
System.out.println(name + " f " + date);
}
}
/*
while(!s.isEmpty()){
String[] items = s.split(" ");
String cmd = items[0];
if (cmd.equals("-c")){
String name = items[1];
String sex = items[2];
Date bd = null;
String month = items[3].substring(1);
String day = items[4];
String year = items[5].substring(0,4);
String date = month+day+year;
try {
bd = new SimpleDateFormat("MMddyyyy").parse(date);
} catch(Exception e){
System.out.println("wrong formatting");
}
if (sex.equals("m")){
allPeople.add(Person.createMale(name, bd));
}else if (sex.equals("f")){
allPeople.add(Person.createFemale(name, bd));
}
System.out.println(allPeople.size()-1);
} else if (cmd.equals("-u")){
Integer id = Integer.parseInt(items[1]);
String name = items[2];
String sex = items[3];
Date bd = null;
String month = items[4].substring(1);
String day = items[5];
String year = items[6].substring(0,4);
String date = month+day+year;
try {
bd = new SimpleDateFormat("MMddyyyy").parse(date);
} catch(Exception e){
System.out.println("wrong formatting");
}
if (sex.equals("m")){
allPeople.set(id, Person.createMale(name, bd));
} else if (sex.equals("f")){
allPeople.set(id, Person.createFemale(name, bd));
}
} else if (cmd.equals("-d")){
Integer id = Integer.parseInt(items[1]);
allPeople.set(id, null);
} else if (cmd.equals("-i")){
Integer id = Integer.parseInt(items[1]);
Person p = allPeople.get(id);
String name = p.getName();
Sex sex = p.getSex();
Date bd = p.getBirthDate();
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy");
String date = sdf.format(bd);
if (sex == Sex.MALE){
System.out.println(name + " m " + date);
} else if (sex == Sex.FEMALE){
System.out.println(name + " f " + date);
}
}
try{
s = reader.readLine();
}catch(Exception e){}
}*/
}
}