Здравствуйте моя программа не работает с ArrayIndexOutofBoundsExeption
. Я получаю эту ошибку, когда я запускаю его:Моя программа не работает с ошибкой ArrayIndexOutofBoundsExeption
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -35
at RoulleteChecker.main(RoulleteChecker.java:134)
Вот мой код:
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class RoulleteChecker {
public static void main(String args[])
{
int a[] = new int[37];
for (long roll = 1; roll <=99999999; roll++) {
a[0] = 1 + (int) (Math.random() * 34);
switch (a[0]) {
case 0:
++a[1];
break;
case 1:
++a[2];
break;
case 2:
++a[3];
break;
case 3:
++a[4];
break;
case 4:
++a[5];
break;
case 5:
++a[6];
break;
case 6:
++a[7];
break;
case 7:
++a[8];
break;
case 8:
++a[9];
break;
case 9:
++a[10];
break;
case 10:
++a[11];
break;
case 11:
++a[12];
break;
case 12:
++a[13];
break;
case 13:
++a[14];
break;
case 14:
++a[15];
break;
case 15:
++a[16];
break;
case 16:
++a[17];
break;
case 17:
++a[18];
break;
case 18:
++a[19];
break;
case 19:
++a[20];
break;
case 20:
++a[21];
break;
case 21:
++a[22];
break;
case 22:
++a[23];
break;
case 23:
++a[24];
break;
case 24:
++a[25];
break;
case 25:
++a[26];
break;
case 26:
++a[27];
break;
case 27:
++a[28];
break;
case 28:
++a[29];
break;
case 29:
++a[30];
break;
case 30:
++a[31];
break;
case 31:
++a[32];
break;
case 32:
++a[33];
break;
case 33:
++a[34];
break;
case 34:
++a[35];
break;
}
}
JTextArea outputArea = new JTextArea();
outputArea.setText("Lets see: " + a[0-35]);
JOptionPane.showMessageDialog(null, outputArea,
"Searching for the frequency: 99999999 times", JOptionPane.INFORMATION_MESSAGE);
System.exit(1);
}
}
Пожалуйста, моя голова взорвется с этим. Я думаю, что моя ошибка находится на переменной a
.
Как вы думаете, это 'a [0-35]' делает? –
Огромный блок переключателей можно изменить на 1-3 строки кода. –
Распечатайте содержимое массива, итерации по нему. Удалите это 'a [0-35]'. –