public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
ArrayList <SlotMachine> machines = new ArrayList<SlotMachine>();
System.out.print("How many machines are they playing?: ");
int machinesNeeded = scan.nextInt();
int machineCounter = 1;
for (int i = 0; i < machinesNeeded; i++) {
machines.add(new SlotMachine());
System.out.print("How often does machine # " + machineCounter + " pay its jackpot?: ");
machines.get(i).setPayOutTime(scan.nextInt());
System.out.print("How much is the jackpot for machine # " + machineCounter + ": ");
machines.get(i).setPayOut(scan.nextInt());
System.out.print("How many times has machine # " + machineCounter + " been played since paying out?: ");
machines.get(i).setTimesPlayed(scan.nextInt());
machineCounter ++;
}
ArrayList <Integer> machineOrder = new ArrayList<Integer>();
machineOrder.add(3);
System.out.print("Enter machine to use: ");
System.out.println(machines.get(machineOrder.get(0)));
リスト変数のmachineOrder
の値をマシン値にアクセスするためのインデックスとして使用したいとします。 わからない私は、あなたがmachine.add(3)、したがって、あなたのmachine.getを追加しているあなたのコードの欠陥は、(0)は常に3を返し、あなたが追加したでしょうあります配列リストを使用して別の配列リストのインデックスを指示する
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
マシン3になるために4台のマシンが必要です。 –
3つの項目を 'machines'に追加してインデックス3の項目を求めていると推測します。そうであれば、インデックス3に項目がないというエラーが表示されます。インデックスは0から2までです。 – sprinter
印刷方法はいくつかの方法の中にありますか? – arjunsv3691