航空機名、目的地、乗客数、飛行時間のユーザー入力を受け入れることができるプログラムを書くことになっています。ユーザーは、処理する航空機の数を尋ねられます。私は配列を利用する必要があることを知っています。これが私の現在のコードですが、最初の航空機名を入力すると停止します。
何が起こっているのか:
航空会社を入力してください:French Air処理する航空機の数を入力してください:3航空機名を入力してください:ABC目的地を入力してください:東京乗客数を入力してください:156飛行時間を入力してください:10:15航空機名を入力してください:DEF目的地を入力してください:チリ乗客数を入力してください: 88飛行時間の入力:11:00航空機名の入力:FGH目的地の入力:マイアミ乗客数の入力:157飛行時間の入力:12:00
FrenchAirの国際的な問題に関する本日のレポート
航空機の目的地乗客数飛行時間ABC東京15610:15DEFチリ8811:00FGHマイアミ15712:00
スレッド「main」の例外java.lang.ArrayIndexOutOfBoundsException:4 at 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 at AircraftsReport.main(AircraftsReport.java:54)