Я надеюсь, что некоторые из вас знакомы со средой разработки Processing для Java. Я искал сайт, но не смог найти слишком много. Поэтому я должен передавать аргументы командной строки из строкового массива 'args' из
public static void main(String[] args )
... для массивов в функции setup (), чтобы я мог их анализировать и использовать в качестве значений высоты гистограмм, которые должны отображаться в графическом окне. Я не понимаю, почему я получаю ошибку NullPointerException в строке 16 ...
for(int i = 0; i < tempArgs.length; i++) {
dataArray[i] = Integer.parseInt(tempArgs[i]);
}
..... как я думал, в массиве tempArray должны быть значения, что, похоже, подтверждается оператором System.out.println, который я использовал для проверки этого в конце метода main. Вот весь код, он довольно короткий. Любая помощь будет высоко ценится.
public class Main extends PApplet {
int[] dataArray ;
int[] normalizedData;
String[] tempArgs;
@Override
public void setup() {
/*size(dataArray[2], dataArray[3]);
smooth();
background(255);*/
for(int i = 0; i < tempArgs.length; i++) {
dataArray[i] = Integer.parseInt(tempArgs[i]);
}
int max = dataArray[0];
for(int i = 0; i < dataArray.length; i++) {
if(dataArray[i] > max) {
max = dataArray[i];
}
}
for(int i = 0; i < dataArray.length; i++) {
normalizedData[i] = (dataArray[i] / max) * (height - 20);
}
for(int i = 0; i < normalizedData.length; i++) {
fill(255,34,65);
rect(3, 5, 10, normalizedData[i]);
}
size(dataArray[2], dataArray[3]);
smooth();
background(255);
}
public static void main(String[] args) {
String[] tempArgs = new String[args.length + 2];
tempArgs[0] = "--bgcolor=#FFFFFF";
tempArgs[1] = "project1.Main";
for(int i = 2; i < tempArgs.length; i++) {
tempArgs[i] = args[i-2];
}
System.out.println(tempArgs.length);
PApplet.main(tempArgs);
}
}