Я должен написать программу, которая могла бы принимать пользовательский ввод имени самолета, пункта назначения, количества пассажиров и времени полета. Пользователя спрашивают, сколько самолетов он хотел бы обработать. Я знаю, что должен использовать массивы. Вот мои текущие коды, но они останавливаются после ввода имени первого самолета.
вот что происходит:
Введите авиакомпанию: French Air Введите количество самолетов для обработки: 3 Введите название самолета: ABC Введите пункт назначения: Токио Введите количество пассажиров: 156 Введите время полета: 10:15 Введите название самолета: DEF Введите пункт назначения: Чили Введите количество пассажиров: 88 Введите время полета: 11:00 Введите название самолета: FGH Введите пункт назначения: Майами Введите количество пассажиров: 157 Введите время полета: 12:00
Сегодняшний отчет о международных рейсах для FrenchAir
САМОЛЕТЫ НАЗНАЧЕНИЕ КОЛИЧЕСТВО ПАССАЖИРОВ ВРЕМЯ ПОЛЕТА ABC Токио 156 10:15 DEF Чили 88 11:00 FGH Майами 157 12:00
Исключение в потоке «основной» java.lang.ArrayIndexOutOfBoundsException: 4 в AircraftsReport.main(AircraftsReport.java:54)
Вот мои текущие коды:
import java.util.*;
public class AircraftsReport
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String airline = "";
String strAircraft = "", strDestination = "", strFlightTime = "";
int passengersCount = 0, num2process = 0, ctr = 0, ctr2 = 0;
System.out.print("Enter airline company: ");
airline = input.nextLine();
System.out.print("Enter number of aircrafts to process: ");
num2process = input.nextInt();
String[] AIRCRAFTS = new String[num2process];
String[] DESTINATIONS = new String[num2process];
String[] FLIGHT_TIME = new String[num2process];
int[] PASSENGERS_COUNT = new int[num2process];
while(ctr < num2process)
{
System.out.print("Enter aircraft name: ");
strAircraft = input.next();
AIRCRAFTS[ctr] = strAircraft;
System.out.print("Enter destination: ");
strDestination = input.next();
DESTINATIONS[ctr] = strDestination;
System.out.print("Enter number of passengers: ");
passengersCount = input.nextInt();
PASSENGERS_COUNT[ctr] = passengersCount;
System.out.print("Enter flight time: ");
strFlightTime = input.next();
FLIGHT_TIME[ctr] = strFlightTime;
ctr++;
}
System.out.println("Today's report of international fligts for" +
airline);
System.out.println("\nAIRCRAFTS\tDESTINATION\tNUMBER OF PASSENGERS" +
"\tFLIGHT TIME");
for(ctr2 = 0; ctr2 <= AIRCRAFTS.length; ctr2++)
{
System.out.print(AIRCRAFTS[ctr2] + "\t" + DESTINATIONS[ctr2] +
"\t" + PASSENGERS_COUNT[ctr2] + "\t" + FLIGHT_TIME[ctr2]);
System.out.println();
}
}
}
Помогите пожалуйста разобраться что не так
Он создает выходные данные вместе с Исключением в потоке "main" java.lang.ArrayIndexOutOfBoundsException: 4 в AircraftsReport.main(AircraftsReport.java:54)