Так что для дополнительной оценки за мой урок математики я пишу программу для визуализации pi. Каждые 6 цифр преобразуются в шестнадцатеричный цвет.
Тем не менее, я сталкиваюсь с ошибкой, когда пытаюсь масштабировать цвета (поскольку с 2 цифрами для r, g и b я могу перейти только до 99 и хочу перейти к 255). Я просматриваю несколько тысяч цифр числа пи и запускаю эту функцию масштабирования для каждого набора из 6, а затем записываю ее в пиксель в BufferedImage, но продолжаю получать исключение StringIndexOutOfBoundsException. Когда я попытался установить retArray [i + 1] = subArray [0], я получил ту же ошибку, но на этот раз в строке 5. Любая идея, что происходит?
private String scale(int org){
tmp = Integer.toString(org);
retArray = new char[6];
for(int i=0; i<=4; i+=2){
tmpsub = tmp.substring(i, i+2); //line 5
int2 = Integer.parseInt(tmpsub);
tmpint = (((float)(int2)/99)*255);
intie = (int)(tmpint);
tmpsub = Integer.toHexString(intie);
subArray = tmpsub.toCharArray();
retArray[i] = subArray[0];
retArray[i+1] = subArray[1]; //String Index Exception on this line
}
retString = "";
for(int i=0; i<retArray.length; i++)
retString+=retArray[i];
return retString;
}
Большое спасибо за любую помощь в решении этой проблемы. Надеюсь, это что-то очевидное, чего я не вижу.