Dobrý den ,programuji výčetku platidel ,ale když ji spustím tak píše : ArrayIndexOutOfBoundsException: 11
s Arrayem nemam skoro žádné vzkušenosti.
Žádám o pomoc a předem děkuji. Zde přikládám zdroják:
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class VycetkaPlatidel {
static int plat;
static int pocetBankovek(int hodnotaBankovky) {
int pocet;
pocet = plat / hodnotaBankovky;
plat = plat % hodnotaBankovky;
return pocet;
}
public static void main(String[] args) throws IOException {
List<Integer> list = new ArrayList<Integer>();
int platX;
Sys.pln("Zadejte částku: ");
plat = Sys.readInt();
platX = plat;
int[] pole = new int[11];
BufferedReader br = new BufferedReader(new FileReader("vstup.txt"));
String s = "";
while ((s = br.readLine()) != null) {
for (int i = 0; i < 12; i++) {
list.add(Integer.parseInt(s));
}
}
br.close();
for (int i = 0; i < list.size(); i++) {
pole[i] = pocetBankovek(list.get(i));
}
BufferedWriter bw = new BufferedWriter(new FileWriter("vystup.txt"));
bw.write("Vyčtení částky " + platX + " je následující : " + pole[0] + "x5000" + " , " + pole[1] + "x2000" + " , " + pole[2] + "x1000");
bw.newLine();
bw.write(pole[3] + "x500" + " , " + pole[4] + "x200" + " , " + pole[5] + "x100");
bw.newLine();
bw.write(pole[6] + "x50" + " , " + pole[7] + "x20" + " , " + pole[8] + "x10");
bw.newLine();
bw.write(pole[9] + "x5" + " , " + pole[10] + "x2" + " , " + pole[11] + "x1");
bw.newLine();
bw.flush();
}
}