Я пишу программу для манипулирования некоторыми данными в текстовом файле.Я должен взять идентификатор штата, население и посещаемость школы, а также бедность из файла, который содержит больше информации, чем эти 4, и записать их в новый текстовый файл.Затем используйте этот новый текстовый файл, чтобы сделать некоторые математику.Это исходная структура текстового файла:
Я столкнулся с ошибками в своем коде и был бы признателен за помощь.В частности, ошибки являются индексом за пределами границ, и нестатический метод не может быть ссылкой из этого контекста.
Класс для определения данных для извлечения:
Класс, гдефактическое извлечение выполнено:
public PopulationData (String stateId, String totPopulation, String schoolGoingPopuplation, String povertPopulation) {this.stateId = stateId;this.totPopulation = totPopulation;this.schoolGoingPopuplation = schoolGoingPopuplation;this.povertPopulation = povertPopulation;}
public String getState()
{
return stateId;
}
public String getPopulation()
{
return totPopulation;
}
public String getSchool()
{
return schoolGoingPopuplation;
}
public String getPoverty()
{
return povertPopulation;
}
public String toString()
{
return this.stateId + " " + this.totPopulation + " " +
this.schoolGoingPopuplation + " " + this.povertPopulation;
}
// это основной класс
inFile = new InputStreamReader(new FileInputStream(inFileName));
OutputStreamWriter outFile = new OutputStreamWriter(new FileOutputStream(outFileName));
while(scanner.hasNext()) {
String line = scanner.nextLine();
String[] columns = line.split(" ");
String sateId = columns[0];
String totPopulation = columns[9];
String schoolGoingPopuplation = columns[10]; //index out of bounds occured
String povertPopulation = columns[11]; //index out of bounds occured
PopulationData pd = new PopulationData(sateId, totPopulation, schoolGoingPopuplation, povertPopulation);
data.add(pd);
outFile.write(pd.toString());
}
for(PopulationData pd : data){
System.out.println(pd.toString());
}
}
catch(IOException except)
{
except.printStackTrace();
}
}