Эта ошибка возникает при переполнении циклов цикла. Давайте рассмотрим простой пример:
class demo{
public static void main(String a[]){
int[] numberArray={4,8,2,3,89,5};
int i;
for(i=0;i<numberArray.length;i++){
System.out.print(numberArray[i+1]+" ");
}
}
Сначала я инициализировал массив как «numberArray». то некоторые элементы массива печатаются с использованием цикла. Когда цикл запускает время «i», напечатайте элемент (numberArray [i + 1] .. (когда значение i равно 1, будет напечатан элемент numberArray [i + 1].) Предположим, что, когда i = (numberArray. length-2), последний элемент массива печатается. Когда значение «i» переходит к (numberArray.length-1), нет значения для печати. В этот момент происходит «ArrayIndexOutOfBoundsException». Я надеюсь, что вы можете получить idea.thank you!
Это не совсем «простая» библиотека, но в Интернете есть много информации об OpenGL и GLUT, а также несколько очень хороших руководств и множество примеров кода.
Самая большая проблема, с которой вы столкнулись, заключается в том, что привязки OpenGL и GLUT в Haskell не включают библиотеки, к которым они привязаны. (Это верно и для wxWidgets.) Многие дистрибутивы Linux поставляются с бинарными файлами OpenGL, но не Windows. Платформа Haskell должна была исправить это, но мне показалось, что это не так.
Итак, если вы устанавливаете систему в Windows, вот что я рекомендую вам попробовать:
OpenGL очень поддерживает состояние, поэтому вы можете найти код Haskell немного пугающим, если вы еще не полностью изучили Monads. Я использую свои эксперименты с OpenGL как мотивацию, чтобы наконец осмыслить эту концепцию.
Удачи!
Просматривали ли вы следующие списки:
Графические библиотеки Haskell : Похоже, здесь довольно много интерфейсов для OpenGL, SDL и других графических библиотек.
Haskell GUI : Здесь также есть несколько библиотек wxWidget.
Cairo Написан на C, но имеет привязки haskell. Возможно, это будет хорошей идеей. Я когда-либо использовал только свои привязки python, но они, похоже, работали хорошо.