В настоящее время работает над проектом студента. Я хочу определить наибольшее число и отсортировать его по форме пузыря, число анализируется из JLabel, но я получаю эту ошибку каждый раз. Вот фрагмент кода:Java ArrayIndexOutOfBounds
JLabel[] wuerfelsummen = new JLabel[7];
wuerfelsummen[0] = player1_wuerfelsumme;
wuerfelsummen[1] = player2_wuerfelsumme;
wuerfelsummen[2] = player3_wuerfelsumme;
wuerfelsummen[3] = player4_wuerfelsumme;
wuerfelsummen[4] = player5_wuerfelsumme;
wuerfelsummen[5] = player6_wuerfelsumme;
public int ermittleGewinner(JLabel[] w)
{
int temp;
int[] zahlen = new int[w.length];
for(int i=0; i<=zahlen.length; i++)
{
if(w[i].getText() == null)
{
zahlen[i] = 99999999;
}
else
{
zahlen[i] = Integer.parseInt(w[i].getText());
}
}
for(int i=1; i<zahlen.length; i++)
{
for(int j=0; j<zahlen.length-i; j++)
{
if(zahlen[j]>zahlen[j+1])
{
temp=zahlen[j];
zahlen[j]=zahlen[j+1];
zahlen[j+1]=temp;
}
}
}
Я все еще получаю ту же ошибку:/ –
Как указывал @GriffeyDog, вам нужно быть осторожным относительно 'j + 1' в другом цикле. Вы должны убедиться, что он никогда не будет> = zahlen.length – Dragondraikk