Я просмотрел все ссылки и не могу получить то, что ищу. У меня есть текстовый файл, мне нужно читать в первый формат текстового файла:.проблемы с разбором текстового файла в Java
3 STL NY Chi //all on one line
STL NY 575 //on its own line
NY Chi 550 //on its own line
STL Chi 225 //on its own line
мне нужно прочитать Int в переменную INT, скажем, мы называем это рассчитывать. Затем фактические города на той же линии в массив. Следующие строки должны считываться в массив, где пробег связан с массивом, например [STL NY] = 575. Я могу использовать только массивы. Нет хэш-таблиц, списка, стеков или очередей. Вот что я получил до сих пор, и, честно говоря, это не так много. Я действительно мог бы использовать какую-то помощь, потому что я очень зациклен на «howto».
import java.io.*;
import java.util.*;
public class P3 {
/**
* @param args the command line arguments
*/
public static int count;
public static void main(String[] args) {
try {
FileInputStream dataFile = new FileInputStream("Data.txt");
//BufferedReader br = new BufferedReader(new InputStreamReader(dataFile));
String line = br.readLine();
}
catch (IOException e) {
System.err.println ("Unable to open file");
System.exit(-1);
}
}
}
Я думаю, что я есть, но я получаю код ошибки: «нестатические города переменная не может ссылаться из статического контекста.» Я пытаюсь проверить свой код путем печати. Может ли кто-нибудь помочь мне с этой печатью? Я хотел бы видеть, что в массивах, чтобы убедиться, что я сделал это правильно. Вот мой код:
package p3;
import java.io.*;
import java.util.*;
class citiesDist {
String cityOne;
String cityTwo;
int miles;
}
class city {
String cityName;
int numberLinks;
citiesDist[] citiesDists;
}
public class P3 {
city[] cities;
void initCity(int len) {
for (int i = 0; i < len; i++) {
cities[i] = new city();
}
}
void initCitiesDist (int index, int len) {
for (int i = 0; i < len; i++) {
cities[index].citiesDists[i] = new citiesDist();
}
}
void parseFile() throws FileNotFoundException, IOException {
FileInputStream fstream = new FileInputStream("Data.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
int numberCities = Integer.parseInt(br.readLine());
cities = new city[numberCities];
initCity(numberCities);
for (int i = 0; i < numberCities; i++) {
String line = br.readLine();
int numberLink = Integer.parseInt(line.split(" ")[1]);
cities[i].cityName = line.split(" ")[0];
cities[i].numberLinks = numberLink;
initCitiesDist (i, numberLink);
for (int j = 0; j < numberLink; j++){
line = br.readLine();
cities[i].citiesDists[j].cityOne = line.split(" ")[0];
cities[i].citiesDists[j].cityTwo = line.split(" ")[1];
cities[i].citiesDists[j].miles = Integer.parseInt(line.split(" ")[2]);
}
}
}
public static void main(String args[]) {
System.out.println("city" + cities.city);
}
}
1) * «Я просмотрел все ссылки» * Вы просмотрели около 37,4 млн. Страниц, возвращенных для «разбора текста java»? Вау, ты занят. Но вместо того, чтобы пытаться «взглянуть на» миллионы, попробуйте «прочитать» первые 10. 2) В чем ваш вопрос? –
В качестве отправной точки я бы предложил посмотреть API для 'String', чтобы узнать, как вы можете извлечь нужную информацию из каждой строки файла. Вы действительно пробовали что-нибудь, кроме того, что вы здесь разместили? – darrengorman
Серьезно Андрей? Это было вызвано? Мне нравится, как люди, которые делали это некоторое время, забывают, с чего они начали. –