Я пытаюсь перебрать документ, который я прочитал, в список, и мне нужно получить определенную строку информации, которая находится в середине каждой строки, и напечатать эту строку информации в строке, проблема в том, чтоСтрока изменяется с каждой строкой, как чтение группы идентификаторов, которые окружены другими объемами информации
Я попытался преобразовать список в строку и использовать doc.substring (doc.lastIndexOf ("S"), но это толькополучить последний идентификатор и распечатать этот же идентификатор для каждой строки текста вместо того, чтобы связать конкретный идентификатор с остальной частью его информации.
public static void doStuff(List<String> text) {
char type = 'x';
int bed = 0;
double rentDue = 0;
String ID;
String doc = text.toString();
for (int i = 0; i < text.size(); i++) {
if (text.get(i).charAt(0) == 'S') {
ID = doc.substring(doc.lastIndexOf("S"));
type = text.get(i).charAt(0);
bed = Character.getNumericValue(text.get(i).charAt(text.size() + 4));
rentDue = Payment.processPayment(type, bed);
System.out.print(type);
System.out.print(" ");
System.out.print(bed);
System.out.print(" ");
System.out.print(rentDue);
System.out.print(" ");
System.out.print(ID);
} else {
ID = doc.substring(doc.lastIndexOf("A"));
type = text.get(i).charAt(0);
bed = Character.getNumericValue(text.get(i).charAt(text.size() + 4));
rentDue = Payment.processPayment(type, bed);
System.out.print(type);
System.out.print(" ");
System.out.print(bed);
System.out.print(" ");
System.out.print(rentDue);
System.out.print(" ");
System.out.print(ID);
}
}
}
Expected:
S 3 1352.0 SABQ138
A 2 864.0 AABQ205
S 1 936.0 SABQ127
A 2 864.0 AABQ313
S 2 1144.0 SABQ126
A 2 864.0 AABQ302
Actual:
S 3 1352.0 SABQ126 2, A AABQ302 2]
A 2 864.0 ABQ302 2]
S 1 936.0 SABQ126 2, A AABQ302 2]
A 2 864.0 ABQ302 2]
S 2 1144.0 SABQ126 2, A AABQ302 2]
A 2 864.0 ABQ302 2]