Так что я использую Processing, чтобы нарисовать карту из файла данных. Я хочу хранить некоторую информацию о первой строке в классе. При обработке этот класс является внутренним классом PApplet, поэтому он должен быть статическим классом (в противном случае я получаю ошибку: статические поля могут быть объявлены только в статическом типе или типе верхнего уровня).
public static class PlacesInfo{
static final int totalCount;
static final float xMin;
static final float yMin;
static final float xMax;
static final float yMax;
static final int populationMax;
static final int densityMax;
//Set all static variables once
static{
String[] lines = loadStrings("population.tsv");
String info = lines[0].substring(2); //to delete some useless char
String[] infoInit = split(info, ','); //to parse the data of the first line
totalCount = int(infoInit[0]);
xMin = float(infoInit[1]);
xMax = float(infoInit[2]);
yMin = float(infoInit[3]);
yMax = float(infoInit[4]);
populationMax = int(infoInit[6]);
densityMax = int(infoInit[8]);
}
}
Когда я запускаю этот код, я получаю сообщение об ошибке, потому что я не могу использовать функцию loadStrings () (которая не является статичной).
Итак, я хочу иметь статические конечные переменные, которые я могу инициализировать из файла "population.tsv". Каковы ваши идеи / советы?