Вы, кажется, хотите создать нескольких пассажиров, а не только один . Так что вам обязательно нужно несколько lastName
и firstName
. Поэтому создайте класс Passenger
, который имеет имя и фамилию. Затем используйте List<Passenger>
и создайте новый Passenger
на каждой итерации внешнего l oop.
Итак, вы должны это сделать:
class Passenger {
String lastname;
String firstname;
String middlename;
}
Теперь внутри вашего main
вам нужен List<Passenger>
:
List<Passenger> passengers = new ArrayList<>();
Теперь я бы предложил выделить один метод из ваших трех циклов do-while, чтобы иметь один метод проверки:
String getInput(String kind) {
String result;
do{
System.out.print("\nEnter " + kind + " : ");
result = input.nextLine().trim();
} while(result.isEmpty());
}
Наконец, поместите это в ваш l oop в main
и создайте новый Passenger
на каждой итерации, как упомянуто выше:
static void main(String[] args) {
List<Passenger> passengers = new ArrayList<>();
Scanner input = new Scanner(System.in);
System.out.print("Enter Number of passenger : ");
Integer numPassengers = input.nextInt();
for(int x = 0; x < numPassengers; x++){
String firstName = getInut("FirstName");
String lastName = getInput("LastName");
String MiddleName = getInput("MiddleName");
passengers.add(new Passenger(firstName, lastName, middleName);
}
}
Конечно, вам нужен конструктор для Passenger
-класс, который принимает три String
-арга. Кроме того, вы никогда не должны открывать поля publi c, как я делал выше, вместо этого используйте метод get get publi c. Итак, ваш класс должен выглядеть так:
class Passenger {
String firstName;
String lastName;
String middleName;
public Passenger(String firstName, lastName, middleName) { // constructor
this.firstName = firstName;
this.lastName = lastName;
this.middleName = middleName;
}
public String getFirstName { return this.firstName; }
public String getLastName { return this.lastName; }
public String getMiddleName { return this.middleName; }
}