I am absolutely stuck and stumped on this, ive tried everything to parse/process the live output. This is the output I recieve from a .jar application simulating live train data: Simulator output:
R: T1(R02, F), T2(R07, F), T3(R38, B), T4(R42, B)
Processing train data: R: T1(R02, F), T2(R07, F), T3(R38, B), T4(R42, B)
but then I keep getting this when I process it:
Processing train entry: T1(R02
Unrecognized train data format: T1(R02
Processing train entry: F)
Unrecognized train data format: F)
private void processTrainData(String line) {
System.out.println(“Processing train data: ” + line);
if (line.equals("Train positions:")) {
return;
}
String[] sections = line.split(": ");
if (sections.length != 2) {
System.err.println("Unrecognized train data format: " + line);
return;
}
String[] trainData = sections[1].split(", ");
for (String train : trainData) {
System.out.println("Processing train entry: " + train);
// Regular expression to match train number, station code, and direction
Pattern pattern = Pattern.compile("T(\d+)\((\w{3}), ([FB])\)");
Matcher matcher = pattern.matcher(train);
if (matcher.find()) {
int trainNumber = Integer.parseInt(matcher.group(1));
String stationCode = matcher.group(2);
String direction = matcher.group(3).equals("F") ? "forward" : "backward";
System.out.println("Train number: " + trainNumber);
System.out.println("Station code: " + stationCode);
System.out.println("Direction: " + direction);
Point coordinates = trainMap.getStationCoordinates(stationCode);
if (coordinates != null) {
System.out.println("Parsed train data - Train number: " + trainNumber + ", coordinates: ("
+ coordinates.x + ", " + coordinates.y + ")");
trainPositions.put(trainNumber, coordinates);
// Update the next train panel for the tracked train
if (trainNumber == trackedTrainNumber) {
Station currentStation = trainTracker.getStation(stationCode);
SwingUtilities.invokeLater(() -> updateNextTrainStations(currentStation));
}
} else {
System.err.println("No coordinates found for station: " + stationCode);
}
} else {
System.err.println("Unrecognized train data format: " + train);
}
}
}
and this is my code, why does it keep triggering the unrecognized train data format?
Naveed Khan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.