Помогите пожалуйста, 2 пункта не хотят отрабатывать, а как отладить входящие аргументы я не представляю, к сожалению.
package com.javarush.task.task17.task1710;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
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 IOException, ParseException {
//start here - начни тут
if (args[0].equals("-c"))
{
String name = args[1];
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/YYYY", Locale.ENGLISH);
Date bd = dateFormat.parse(args[3]);
if (args[2] == "м"){
Person cur = Person.createMale(name, bd);
allPeople.add(cur);
System.out.println(cur);
} else if (args[2] == "ж"){
Person cur = Person.createFemale(name, bd);
allPeople.add(cur);
System.out.println(cur);
}
}
if (args[0].equals("-u")){
String id = args[1];
int idie = Integer.parseInt(id);
Person cur = allPeople.get(idie);
String name = args[2];
cur.setName(name);
Sex sex = null;
if (args[3] == "м"){
sex = Sex.MALE;
} else if (args[3] == "ж") {
sex = Sex.FEMALE;
}
cur.setSex(sex);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/YYYY", Locale.ENGLISH);
Date bd = dateFormat.parse(args[4]);
cur.setBirthDate(bd);
}
if (args[0].equals("-d")){
String id = args[1];
int idie = Integer.parseInt(id);
Person cur = allPeople.get(idie);
cur.setBirthDate(null);
cur.setSex(null);
cur.setName(null);
}
if (args[0].equals("-i")){
String id = args[1];
int idie = Integer.parseInt(id);
Person cur = allPeople.get(idie);
Date parsedDate = cur.getBirthDate();
SimpleDateFormat sdfDestination = new SimpleDateFormat("dd-MMM-YYYY", Locale.ENGLISH);
String destDate = sdfDestination.format(parsedDate);
Sex sex = cur.getSex();
String s = null;
if (sex == Sex.MALE){
s = "м";
} else if (sex == Sex.MALE){
s = "ж";
}
System.out.println(cur.getName() + " " + s + " " + destDate);
}
}
}package com.javarush.task.task17.task1710;
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;
}
}