I'm new at Java and I have an array of objects of Passenger constructor class. I'm trying to display an error message if a Passenger object is being created and the birth date inserted isn't in the correct format I specify below. The problem is the error message keeps repeating through the entire array when I only have one birth date not formatted correctly.
This is my main class:
public class IPOO_P2 {
private static Passenger[] passengers = new Passenger[10];
public static void main(String[] args) {
SubwayManager man1 = new SubwayManager(passengers);
for (int i = 0; i < passengers.length; i++) {
passengers[i] = new Passenger("nomee", "12", "2011-10-02");
passengers[i] = new Passenger("nomee2", "1", "1957-10-02");
passengers[i] = new Passenger("nomee2", "0", "19-101-02");
passengers[i] = man1.createPassenger("name", "3", "1997-10-02");
passengers[i] = man1.createPassenger("name", "3", "1997-10-02");
}
}
}
The Passenger class:
public class Passenger {
private String name;
private String nif;
private String birthDate;
private Trip[] tripsLog;
private boolean student;
public Passenger(String name, String nif, String birthDate) {
if (name != null || name != "") {
if(isDateValid(birthDate)) {
this.name = name;
this.nif = nif;
this.birthDate = birthDate;
this.student = false;
this.tripsLog = new Trip[10];
}
else{
System.out.println("Birth Date formatt should be: yyyy-MM-dd");
}
}
}
public boolean isDateValid(String bDate) {
if(bDate != null){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
try {
LocalDate.parse(bDate, formatter);
return true;
} catch (DateTimeParseException e) {
return false;
}
}return false;
}
forloop inmain. Enter the numbers:passengers[0] = new Passenger("nomee", "12", "2011-10-02");, etc.SubwayManagercode.passengers[i] = new Passenger("nomee2", "0", "19-101-02");is the only value you ever insert into your array, I suspect the 2 lines following it don't do a thing to the array contents while the 2 lines before it do not matter sincepassengers[i] = new Passenger("nomee2", "0", "19-101-02");is what is inserted at index i.