Я не уверен, что заголовок очень четкий, но в основном я должен прочитать строку текста из файла и разделить его на 8 различных строковых переменных. Каждая строка будет иметь одинаковые 8 блоков в том же порядке (заголовок, автор, цена и т. Д.). Поэтому для каждой строки текста я хочу получить 8 строк.
Первая проблема заключается в том, что последние два поля в строке могут присутствовать или не присутствовать, поэтому мне нужно что-то сделать с stringTokenizer.hasMoreTokens, иначе он будет беспорядочно умирать, когда поля 7 и 8 отсутствуют.
В идеале я хотел бы сделать это за один цикл for, но я не уверен, как сказать этому циклу, каким будет порядок полей, чтобы он мог правильно заполнить все 8 (или 6) строк. , Скажите, пожалуйста, есть лучший способ использовать 8 вложенных операторов if!
РЕДАКТИРОВАТЬ: решение String.split, безусловно, является его частью, поэтому я буду использовать его вместо stringTokenizer. Тем не менее, я до сих пор не уверен, что лучший способ подачи отдельных строк в конструктор. Будет ли лучший способ получить класс, ожидающий массив, а затем просто сделать что-то подобное в конструкторе:
line[1] = isbn;
line[2] = title;